http1.1中的Cache-control
2013-05-03 11:41
405 查看
最近,复习了下http协议。这里主要回忆分享,学习下报头中的Cache-Control的使用情况。
和Cache-Control一起使用的报头属性还有:Last-Modified: [UTC time]、ETag: [custom flag]
首先说明下Cache-Control的使用情况:
1 保鲜期only
这个是最最基础的一种策略,只需要在响应头中设定:
Cache-control: max-age=[secs]
[secs]是cache在客户端存活的秒数。
eg:
Cache-control: max-age=3600 说明cache在客户端存活1个小时。
2 保鲜期 + 最后修改时间验证
这里的要素是,在给出保鲜期的同时,给出一个资源的验证方式:
Last-Modified: [UTC time]
[UTC time]标示这个响应资源的最后修改时间,例如 Last-Modified: Mon, 06 Jul 2009 09:21:48 GMT
这个响应头只有配合Cache-control的时候才有实际价值,只是声明校验资源的方式,并不能影响资源的保鲜期时长
利用资源的可校验性,我们可以实现在cache的资源超过保鲜期,浏览器再次请求时的304响应,令浏览器再次使用之前的cache
3.保鲜期 + 自定义标识验证
这里的要素是,在给出保鲜期的同时,给出另一种资源的验证方式:
ETag: [custom flag]
[custom flag]标示这个响应资源的由开发者自己确定的签名验证标识,例如 ETag: "abcdefg",这个响应头只有配合Cache-control的时候才有实际价值,是声明校验资源的方式
ETag的使用为我们实现304响应提供了更多的灵活性,我们可以抛开必须将验证转化成时间格式的限制
参考文章:http://blog.csdn.net/YoungerChen/archive/2011/01/04/6116147.aspx
和Cache-Control一起使用的报头属性还有:Last-Modified: [UTC time]、ETag: [custom flag]
首先说明下Cache-Control的使用情况:
1 保鲜期only
这个是最最基础的一种策略,只需要在响应头中设定:
Cache-control: max-age=[secs]
[secs]是cache在客户端存活的秒数。
eg:
Cache-control: max-age=3600 说明cache在客户端存活1个小时。
2 保鲜期 + 最后修改时间验证
这里的要素是,在给出保鲜期的同时,给出一个资源的验证方式:
Last-Modified: [UTC time]
[UTC time]标示这个响应资源的最后修改时间,例如 Last-Modified: Mon, 06 Jul 2009 09:21:48 GMT
这个响应头只有配合Cache-control的时候才有实际价值,只是声明校验资源的方式,并不能影响资源的保鲜期时长
利用资源的可校验性,我们可以实现在cache的资源超过保鲜期,浏览器再次请求时的304响应,令浏览器再次使用之前的cache
3.保鲜期 + 自定义标识验证
这里的要素是,在给出保鲜期的同时,给出另一种资源的验证方式:
ETag: [custom flag]
[custom flag]标示这个响应资源的由开发者自己确定的签名验证标识,例如 ETag: "abcdefg",这个响应头只有配合Cache-control的时候才有实际价值,是声明校验资源的方式
ETag的使用为我们实现304响应提供了更多的灵活性,我们可以抛开必须将验证转化成时间格式的限制
参考文章:http://blog.csdn.net/YoungerChen/archive/2011/01/04/6116147.aspx
相关文章推荐
- HTTP/1.1 Cache-Control的理解(转)
- HTTP/1.1 Cache-Control的理解
- Cache-Control(常规标头,HTTP1.1)
- HTTP/1.1 Cache-Control的理解
- HTTP/1.1 Cache-Control 标头的设定参数
- HTTP header中的 Cache-control
- HTTP header中的 Cache-control
- HTTP header中的 Cache-control
- HTTP头的Expires与Cache-control
- HTTP中缓存相关的字段(Cache-Control, Expires, Last-Modified, ETag)介绍
- http Cache-Control: If-None-Match ETag/If-Modifed-Since Last-Modified
- HTTP头的Expires与Cache-control
- 写给后端程序员的HTTP缓存原理介绍--怎样决定一个资源的Cache-Control策略呢
- HTTP头的Expires与Cache-control
- 设置meta标签 清除页面缓存,如:<meta http-equiv="Cache-Control" content="no-cache"/>
- HTTP头的Expires与Cache-control
- 转:Http头介绍:Expires,Cache-Control,Last-Modified,ETag
- HTTP消息头中的“Cache-control”控制网页的缓存
- Web前端-HTTP Cache-control
- HTTP消息头中的“Cache-control”控制网页的缓存