web页面缓存之Cache-Control问题
来源:互联网 发布:吓人软件 编辑:程序博客网 时间:2024/05/17 05:01
Cache-Control是HTTP协议的一部分,是在请求和响应中必须服从的指令,通常用于提高页面加载,阻止页面缓存对请求和响应造成不利的干扰。
Cache-Control 为单向指令,即请求中存在的指令,并不意味着响应中存在同样的指令
客户端对请求的处理(请求头设置的Cache-Control):
Web浏览器都有Refresh(刷新)和Reload(重载)按钮,可以强制对浏览器或者代理缓存,进行刷新
Refresh的特性取决于特定的浏览器、文档以及拦截缓存的配置。可以通过下面的指令来强化客户端的缓存配置
服务器对Cache-Control的配置:
对于上述配置浏览器的响应为:
设置缓存之后客户端的请求:
HTTP中expires为绝对过期时间,过期时间过期了,说明缓存已过期,max-age定义了请求返回数据中最大使用使用期。
定义了max-age之后,缓存的内容不一定每次都与服务器来进行验证,但是在过期时间到期之后。一定会与服务器验证。
HTTP条件方法可以实现高效的再验证,向服务发送 “ 条件GET ” 目前最常用的为 If-Modified-Since:Date If-None-Math:ETag(实体标签,版本标识)
If-Modified-Since 表示在指定日期之后资源被更新,就返回新的请求,如果指定日期未更新就返回304直接读取缓存
If-None-Math 有的文档有可能周期性的被重写,通过ETag 来确保文档是否改变,改变返回请求状态为200的新资源,未改变返回状态码304直接读取缓存
这些可以结合使用。
缓存的内容不一定每次都与服务器来进行验证,不同的浏览器对于请求中Cache-Control的值和响应中Cache-Control的值的优先级是不一样的。以下为设置了max-age之后的请求
在资源未失效的情况下,用户打开浏览器窗口。读取缓存的浏览器有
- win8.1 firefox55 Gecko55.0
- Win7 chrome47 webkit 537.36
- Win7 chrome 45 webkit 537.36 45.0.2454.101
- Win10 chrome 48 webkit 537.36
- Win7 chrome 58 webkit 537.36
- Mac OS 10.12.6 safari10 webkit 603.38
- winXP chrome55 webkit 537.36 55.0.2883.87
- Win7 Maxthon4 4.9.5.1000 webkit537.36
阅读全文
0 0
- web页面缓存之Cache-Control问题
- Cache-Control缓存机制
- http协议:Web前端-HTTP Cache-control/浏览器缓存
- Android okHttp网络请求之缓存控制Cache-Control
- Android okHttp网络请求之缓存控制Cache-Control
- 浏览器缓存处理cache control
- Cache-control(网页缓存)
- Cache-Control与retrofit缓存
- Web前端-HTTP Cache-control
- Web前端-HTTP Cache-control
- Web前端-HTTP Cache-control
- Web前端-HTTP Cache-control
- Web前端-HTTP Cache-control
- Web前端-HTTP Cache-control
- Web Cache缓存
- 设置meta标签 清除页面缓存,如:<meta http-equiv="Cache-Control" content="no-cache"/>
- 设置meta标签 清除页面缓存,如:<meta http-equiv="Cache-Control" content="no-cache"/>
- Cache用法之缓存页面和缓存数据
- 第九届Mockplus ▪ UXPA用户体验成都赛区决赛成功举行
- 如何利用Helm在Kubernetes上快速部署Cloud Foundry?
- 第七周 项目1
- RegDeleteKey函数删除子项并包含其所有值 及递归删除子项例子。请注意,key名称不区分大小写。
- 如何无痛降低 if else 面条代码复杂度
- web页面缓存之Cache-Control问题
- php ajax 仿百度查询下拉内容
- 大飞哥讲<spark学习笔记>
- 饼干包装加工常见材料类型
- ASP.NET播放视频有声音没画面
- java poi导出Excel表,合并单元格
- android studio中文乱码各种情况的解决办法
- win10安装tensorflow-gpu版本各种坑
- jdk8函数式接口,SAM类型的接口(Single Abstract Method)