HTTP协议探索之Cache-Control
缓存的存与用的控制
Cache-Control指定了请求和响应遵循的缓存机制。好的缓存机制可以减少对网络带宽的占用,可以提高访问速度,提高用户的体验,还可以减轻服务器的负担。
Cache-Control主要有以下几种类型:
(1) 请求Request:
[1] no-cache ---- 不要读取缓存中的文件,要求向WEB服务器重新请求
[2] no-store ---- 请求和响应都禁止被缓存
[2] max-age: ---- 表示当访问此网页后的max-age秒内再次访问不会去服务器请求,其功能与Expires类似,只是Expires是根据某个特定日期值做比较。一但缓存者自身的时间不准确.则结果可能就是错误的,而max-age,显然无此问题.。Max-age的优先级也是高于Expires的。
[3] max-stale ---- 允许读取过期时间必须小于max-stale 值的缓存对象。
[4] min-fresh ---- 接受其max-age生命期大于其当前时间 跟 min-fresh 值之和的缓存对象
[5] only-if-cached ---- 告知缓存者,我希望内容来自缓存,我并不关心被缓存响应,是否是新鲜的.
[6] no-transform ---- 告知代理,不要更改媒体类型,比如jpg,被你改成png.
(2) 响应Response:
[1] public ---- 数据内容皆被储存起来,就连有密码保护的网页也储存,安全性很低
[2] private ---- 数据内容只能被储存到私有的cache,仅对某个用户有效,不能共享
[3] no-cache ---- 可以缓存,但是只有在跟WEB服务器验证了其有效后,才能返回给客户端
[4] no-store ---- 请求和响应都禁止被缓存
[4] max-age: ----- 本响应包含的对象的过期时间
[5] Must-revalidate ---- 如果缓存过期了,会再次和原来的服务器确定是否为最新数据,而不是和中间的proxy
[6] max-stale ---- 允许读取过期时间必须小于max-stale 值的缓存对象。
[7] proxy-revalidate ---- 与Must-revalidate类似,区别在于:proxy-revalidate要排除掉用户代理的缓存的。即其规则并不应用于用户代理的本地缓存上。
[8] s-maxage ---- 与max-age的唯一区别是,s-maxage仅仅应用于共享缓存.而不应用于用户代理的本地缓存等针对单用户的缓存. 另外,s-maxage的优先级要高于max-age.
[9] no-transform ---- 告知代理,不要更改媒体类型,比如jpg,被你改成png.
http://blog.csdn.net/chen_zw/article/details/18924875
相关文章
- Android开发之http协议解析
- 记1个低级错误:java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8769/accr/print
- HTTP协议/RTSP协议/RTMP协议的区别
- C#通过WebClient/HttpWebRequest实现http的post/get方法
- Http接口获取数据写入Hdfs
- HTTP请求报文格式
- HTTP请求行、请求头、请求体详解
- http协议---简述
- 面试 -- Http协议相关(转载)
- http协议与tcp协议区别
- golang net/http 包
- 网络直播流媒体协议的选择讨论,RTSP,RTMP,HTTP,私有协议?
- 零配置命令行HTTP服务器 http-server
- HTTP Only限制XSS盗取cookie
- idea 中javax.servlet.http.HttpServlet包导不进来
- HTTP协议状态码详解(HTTP Status Code)
- HTTP协议与HTTPS的区别
- java.lang.IllegalArgumentException: baseUrl must end in /: http://xxx.xxx.x.xxx:xxxx/Handler1.ashx
- Java 和 HTTP 的那些事(四) HTTPS 和 证书(转)
- 【问题解决】[kubelet-check] The HTTP call equal to ‘curl -sSL http://localhost:10248/healthz‘ failed wite
- 应用层协议系列(两)——HTTPserver之http协议分析
- 为什么浏览器不支持 http 2.0 协议
- nginx下后端节点realserverweb健康检测模块ngx_http_upstream_check_module
- 【vue】vue中如何使用http代理解决跨域问题_11
- 常见HTTP响应状态码