浏览器刷新与缓存

用谷歌浏览器测试,在设置了Cache-Control=max-age=xxx 的情况下

关于刷新,

地址栏回车,直接从缓存中取,不防问服务器,如果没设置:Cache-Control=max-age=xxx 则会每次访问

F5会去服务器请求文件,如果未修改,在程序设置了的情况下,返回 304 ,不下载文件

Ctrl+F5会去服务器请求文件,并且发送 If-Modified-Since = -1此时,服务器通过判断文件是否被修改,由于If- Modified-Since = -1 此时判断结果肯定是 已经修改,然后重新请求文件

在IE中,设置如下


这是浏览器默认设置,此时

地址栏回车:不会访问服务器,这就是为什么很多教程说要 加一个时间戳或者随机数作为参数传递,骗过浏览器

F5 :会访问服务器:但是如果文件未修改,则如谷歌浏览器一样

Ctrl+F5:和谷歌浏览器一样效果

如果不加 Cache-Control=max-age=xxx  或Expires等缓存设置,那惨了

IE永远对资源发送  If-Modified-Since = -1 ,即便你是 在地址栏 敲的回车键

而谷歌浏览器则是发送 最后修改 时间,如果文件未修改,还是返回 304状态,表示未修改,让浏览器继续使用缓存文件

猜你喜欢

转载自lyjilu.iteye.com/blog/1744191
今日推荐