首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
servletResponse 控制浏览器缓存
】的更多相关文章
servletResponse 控制浏览器缓存
//当访问一些资源文件时,我们希望,访问一次后,资源文件能够在缓存在浏览器中,当我们再次访问该资源时 //直接从缓存中去取,这样可以减少服务器的压力 package response; import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import ja…
Nginx实践篇(2)- Nginx作为静态资源web服务 - 控制浏览器缓存、防盗链
一.控制浏览器缓存 1. 浏览器缓存简介 浏览器缓存遵循HTTP协议定义的缓存机制(如:Expires;Cache-control等). 当浏览器无缓存时,请求响应流程 当浏览器有缓存时,请求响应流程 浏览器缓存校验过期机制 校验是否过期 Cache-Control(max-age).Expires 协议中Etag头信息校验 Etag Last-Modified头信息校验 Last-Modified 浏览器请求流程 2. Nginx控制浏览器缓存配置 Nginx通过添加Cache-Control…
[javaEE] 控制浏览器缓存资源
浏览器有默认的缓存机制,不同的浏览器,缓存头是不一样的 设置编码,调用setContentType()方法,参数:”text/html;charset=utf-8” 关闭缓存,调用setHeader()方法:参数: ”Expires”,-1 “Cache-Control”,”no-cache” “Pragma”,”no-cache” 开启缓存,调用setHeader()方法:参数: 调用setDateHeaader()方法,参数:”Expires”,System.currentTimeMils(…
通过HTTP头控制浏览器的缓存
通过HTTP头控制浏览器的缓存 浏览器缓存是提高用户体验和提升程序性能的一个很重要的途径,通过浏览器的缓存控制,可以对实时性要求不高的数据进行缓存,可以减少甚至不需要再次对服务器的请求就可以显示数据. 本文将介绍如果通过HTTP协议中的header来控制浏览器的缓存行为,建议大家在看的时候写代码试验下,这样对这些header的理解会更深一点. HTTP协议定义了四个可以用来控制浏览器缓存的HTTP头,它们是: Last-Modified Expires Pragma: no-cache Cach…
Nginx与浏览器缓存
Nginx与浏览器缓存 一.浏览器对缓存的处理:Internet选项 ★ 控制请求服务器策略:是忽略资源的缓存策略的情况下额外强制请求服务器的意思. ★ 检查存储的页面较新版本 1.每次访问网页时 不管是否有缓存.资源状态是否过期,都会再次请求服务器. 2.每次启动Internet Explorer时 不管是否有缓存.资源状态是否过期,都会再次请求服务器. 3.自动 大体上和2是一样的,只是对于图片的策…
浏览器缓存和Service Worker
浏览器缓存和Service Worker @billshooting 2018-05-06 字数 6175 Follow me on Github 标签: BOM 1. 传统的HTTP浏览器缓存策略 在一个网页的生命周期中,开发者为了缩短用户打开页面的时间,通常会设置很多缓存.其中包括了: 浏览器缓存 代理服务器缓存(CDN缓存) 服务器缓存 数据库缓存 等各种缓存.这些缓存大多数和前端没什么关系,也不由前端开发者控制,其中和前端较为密切的是浏览器缓存,但它本质上也是由服务器控制的. 在Serv…
JavaWeb学习篇之----浏览器缓存问题详解
摘要 1.Etag和Expires中Client 端Http Request Header及Server端Http Reponse Header工作原理. 2.静态下Apache.Lighttpd和Nginx中Etag和Expires配置 3.非实时交互动态页面中Etag和Expires处理 在客户端通过浏览器发出第一次请求某一个URL时,根据 HTTP 协议 的规定,浏览器会向服务器传送报头(Http Request Header ),服务器端响应同时记录相关属性标记(Http Repons…
分享一个控制JS 浏览器缓存的解决办法。
JS 缓存的问题一直都是我们又爱又恨的东西.也是我们比较头痛的问题, 一方面为了提高网站响应速度,减少服务器的负担,和节省带宽,将需要将静态资源缓存在客户端, 但是另一方面,当js 文件有改动的时候,如何快速的将客户端缓存的js文件都失效,这是非常头痛的问题. 以至于每次客户反馈问题的时候,我们第一个解决办法都是清理浏览器缓存. 那么如何解决呢. 1. 直接禁止全部的静态文件缓存 在html 头部加上如下代码: <META HTTP-EQUIV="pragma" CONTENT…
浏览器缓存如何控制? && 在url框中回车、F5 和 Ctrl + F5的区别是什么?
第一部分: 浏览器缓存如何控制? 最近在做网站,但是不知道缓存是什么东西怎么能行! 如何实现HTTP缓存呢? 下面我们来一步一步的探寻实现机制把. 方案一: 无缓存 说明: 浏览器向服务器请求资源m.png, 然后服务器响应请求--找到对应的m.png后发送给浏览器. 之后,浏览器再次向服务器请求m.png, 服务器又发回了同样的一张图片....循环往复..... 优点: 浏览器请求,服务器响应,思路清楚简单容易实现. 缺点 : 每次我都请求同样的资源时, 服务器也在不断地响应,这是非常…
浏览器缓存控制 以及 在url框中回车、F5 和 Ctrl + F5的区别
第一部分: 浏览器缓存如何控制? 做网站,不知道缓存是什么东西怎么能行! 如何实现HTTP缓存呢? 下面我们来一步一步的探寻实现机制把. 方案一: 无缓存 说明:浏览器向服务器请求资源m.png, 然后服务器响应请求--找到对应的m.png后发送给浏览器. 之后,浏览器再次向服务器请求m.png, 服务器又发回了同样的一张图片....循环往复..... 优点:浏览器请求,服务器响应,思路清楚简单容易实现. 缺点:每次都请求同样的资源时,服务器也在不断地响应,这是非常浪费带宽的. 方案二:…
配置Apache控制浏览器端的缓存的有效期
这个非常有用的优化,mod_expires可以减少20-30%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求.但要注意更新快的文件不要这么做.这个模块控制服务器应答时的Expires头内容和Cache-Control头的max-age指令.有效期(expiration date)可以设置为相对于源文件的最后修改时刻或者客户端的访问时刻.mod_expires可以为浏览器下载下来的文件设置过期时间.用户二次访问的时候可以直接从浏览器缓存中读取文件,加速访…
Servlet过滤器——使用过滤器禁止浏览器缓存页面
1.概述 IE缓存虽然能提高已储存网站的访问速度,但是过度的IE缓存会影响浏览器的响应速度.同时还可能为网站的运行带来一些不必要的麻烦.例如:可能会因为浏览器缓存的应用,而导致Web服务器不能准确的计算一个页面或广告已被阅览的次数:在论坛或者网上商城系统中由于浏览器缓存的使用,导致更新的图片信息不能得到及时的显示:还有由于浏览器缓存的使用,而使网页设计者不能立即查看到网页更新后的效果. 所以在开发网站的过程中,最好是在程序中禁止浏览器缓存页面,从而避免上述问题的出现,也省去了手动清空浏览器缓存的…
web性能优化:详说浏览器缓存
TOC 背景 浏览器的总流程图 一步一步说缓存 朴素的静态服务器 设置缓存超时时间 html5 Application Cache Last-Modified/If-Modified-Since Etag/If-None-Match 什么是Etag 为什么有了Last-Modified还要Etag Etag 的实现 迷之浏览器 总结 背景 在对页面的性能优化时,特别是移动端的优化,缓存是非常重要的一环. 浏览器缓存机制设置众多:html5 appcache,Expires,Cache-contr…
理解web缓存 浏览器缓存
为了: 控制缓存 遇到的现象: 1.开发的时候,浏览器会缓存你的文件,使得你的改动是无效的! 开发过程中:我们是不希望有缓存的. 但正是发布以后,我们是希望页面能够在浏览器缓存,这样用户的体验就会提高,因为页面的加载速度提升了哦! 答:当前项目,后台生成一个version,添加到文件上,每一次因为version都不一样,所以文件就不会被浏览器缓存. 但是发布的时候应该是要去掉的哦! http://blog.csdn.net/longxibendi/article/details/41630…
浏览器缓存相关的Http头介绍:Expires,Cache-Control,Last-Modified,ETag
转自:http://www.path8.net/tn/archives/2745 缓存对于web开发有重要作用,尤其是大负荷web系统开发中. 缓存分很多种:服务器缓存,第三方缓存,浏览器缓存等.其中浏览器缓存是代价最小的,因为浏览器缓存依赖的是客户 端,而几乎不耗费服务器端的资源. 让浏览器做缓存需要给浏览器发送指定的Http头,告诉浏览器缓存多长时间,或者坚决不要缓存. 1.Expires(过期时间)HTTP头信息Expires(过期时间) 属性是HTTP控制缓存的基本手段,这个属性告诉缓存…
Nginx使用Expires增加浏览器缓存加速
Max-age是指我们的web中的文件被用户访问(请求)后的存活时间,是个相对的值,相对Request_time(请求时间). Expires它比max-age要麻烦点,Expires指定的时间分"相对文件的最后访问时间-Last-Modified"和"绝对修改时间-If-Modified-Since". Expires 表示存在时间,允许客户端在这个时间之前不去检查(发请求),等同max-age的效果.但是如果同时存在,则被Cache-Control的max-ag…
浏览器缓存详解:expires,cache-control,last-modified,etag详细说明
最近在对CDN进行优化,对浏览器缓存深入研究了一下,记录一下,方便后来者 画了一个草图: 每个状态的详细说明如下: 1.Last-Modified 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记(HttpReponse Header)此文件在服务期端最后被修改的时间,格式类似这样: Last-Modified:Tue, 24 Feb 2009 08:01:04 GMT 客户端第二次请求此URL时,根据HTTP协议…
web app 禁用手机浏览器缓存方法
开发过web app的同学,特别是前端人员,都碰到这烦人的事情,JS或CSS代码改变,可手机浏览器怎么刷新都不更新,手机浏览器的缓存特别恶劣. 所以今天贴个方法解决这问题.记得,本地调试的时候贴上,上线后要删除哦,免得访问者浏览体验慢. 代码: <meta http-equiv="expires" content="0"> <meta http-equiv="pragma" content="no-cache"…
[原创]java WEB学习笔记45:自定义HttpFilter类,理解多个Filter 代码的执行顺序,Filterdemo:禁用浏览器缓存的Filter,字符编码的Filter,检查用户是否登陆过的Filter
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------…
【nginx网站性能优化篇(1)】gzip压缩与expire浏览器缓存
gzip压缩 概述 网页在服务器端经过了gzip或者其他格式的压缩后的输出明显减少了content-length字节,当访问过百万时,这些减少的字节就会变为客观的流量给节约下来;从而减轻服务器的压力以及网页的访问速度; 原理 客户端在向服务端发送http请求时,在请求头中有一个Accept-Encoding的头信息,该头信息告知服务器端本客服端能接收什么样的压缩文件,如果服务器端配置了压缩的需求,就会返回相应的压缩文件,然后浏览器再解码呈现出来;我们在做采集时,需要采集的是未压缩的文件,所以在h…
HTTP请求中浏览器缓存
本文导读:浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制.客户端缓存是否需要是可以在服务端代码上控制的.那就是响应头.响应头告诉缓存器不要保留缓存,缓存器就不会缓存相应内容:如果请求信息是需要认证或者安全加密的,相应内容也不会被缓存.那么,HTTP请求中浏览器是如何缓存数据呢? 一.HTTP请求中浏览器缓存流程图 1.浏览器第一次请求 2.浏览器再次请求时 二.HTTP请求中浏览器缓存流程的文字描述 1.当资源第一次被访问的时候,HTTP头部如下 (Request-Line) GET /…
Java缓存学习之二:浏览器缓存机制
浏览器端的九种缓存机制介绍 浏览器缓存是浏览器端保存数据用于快速读取或避免重复资源请求的优化机制,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本地数据,整体上加速网页展示给用户.浏览器端缓存的机制种类较多,总体归纳为九种,这里详细分析下这九种缓存机制的原理和使用场景.打开浏览器的调试模式->resources左侧就有浏览器的8种缓存机制. 一.http缓存 http缓存是基于HTTP协议的浏览器文件级缓存机制.即针对文件的重复请求情况下,浏览器可以根据协议头判断从服务器端请求文件还是从…
使用Filter防止浏览器缓存页面或请求结果
仅仅须要两步: 1.定义一个Filter: /** * 防止浏览器缓存页面或请求结果 * @author XuJijun * */ public class NoCacheFilter implements Filter { @Override public void destroy(){ } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOE…
atitit。浏览器缓存机制 and 微信浏览器防止缓存的设计 attilax 总结
atitit.浏览器缓存机制 and 微信浏览器防止缓存的设计 attilax 总结 1. 缓存的一些机制 1 1.1. http 304 1 1.2. 浏览器刷新的处理机制 1 1.3. Expires 2 1.4. Cache-Control 2 1.5. Last-Modified/E-tag 3 1.6. Etag 主要为了解决 Last-Modified 无法解决的一些问题. 4 2. 不同的页面打开方式产生的请求差别 5 3. html meta法 5 4. http head 法…
浏览器缓存相关http头
近期看雅虎黄金34条,学习下优化站点性能的方法. 当中有一条:"为文件头指定Expires或Cache-Control",详细来说指对于静态内容:设置文件头过期时间Expires的值为"Never expire"永只是期:而对于动态内容:使用恰当的Cache-Control文件头来帮助浏览器进行有条件的请求. 这一条能够和雅虎34条的第一条联系起来,那就是尽量降低http的请求次数(雅虎34条非常多都是努力去降低http请求为目的的),毕竟假设有太多的资源须要下载须…
web基础-web工作原理,http协议,浏览器缓存
1,web工作原理 2,http协议 3,浏览器缓存 4,cookie和session -------------------------------------------------------------------------------------------------------------------------------- 1,web工作原理 平时用浏览器,输入网址后回车,页面响应我们想要浏览的内容,简单操作的背后蕴涵了什么原理? 当输入url回车后,客户端(浏览器)会去请求…
浏览器缓存(Egret项目实例分析)
参考文章: 浏览器缓存机制:http://web.jobbole.com/82997/ 浏览器缓存机制:http://www.cnblogs.com/skynet/archive/2012/11/28/2792503.html Meta http-equiv详解: http://kinglyhum.iteye.com/blog/827807 页面缓存相关设置: exprise 用于设定网页的到期时间.一旦网页过期,必须到服务器上重新传输. <meta http-equiv="expires…
浏览器缓存机制<转>
转这篇文章是感觉可以在图片加载的时候,也使用这样的缓存策略 作者:吴秦出处:http://www.cnblogs.com/skynet/本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接). 浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制(如: Expires: Cache-control等).但是也有非HTTP协议定义的缓存机制,如使用HTML Meta 标签,Web开发者可以在HTML页面的<head>节点中加入&…
Egret--设置全屏,控制浏览器全屏
1, 手机浏览器打开的项目的时候,浏览器的虚拟按键/标题栏, 使得即便设置全屏也没有变成全屏(好像JS 中有方法向浏览器请求全屏) 2, 加载资源, 关闭后卸载, 再次进入游戏依然很快.不过登陆游戏的时候,有可能无法进入,因为浏览器有缓存 3, egret的回调函数比较随意. 带参数的回调函数, 调用可不传参数, 不带参数的回调函数, 调用的时候可以传参. 4, try{} catch(err){} 用于捕捉错误, 但是1/0 不报错, 原因:JS 中有infinity这个类型 5, wi…
HttpServletResponse常见应用——设置响应头控制浏览器的行为
1.设置http响应头控制浏览器禁止缓存当前文档内容 1 response.setDateHeader("expries", -1); 2 response.setHeader("Cache-Control", "no-cache"); 3 response.setHeader("Pragma", "no-cache"); 2.设置http响应头控制浏览器定时刷新网页(refresh) 1 response…