您的位置:首页 > 理论基础 > 计算机网络

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: