参考文章:http://oohcode.com/2015/05/28/http-cache/
客户端 头字段:
Cache-Control: (Pragma http1.0采用)
no-store 不缓存内容
no-cache 缓存内容,但需要进行新鲜度判断
must-revalidate 缓存内容,必须进行新鲜度判断(类似no-cache)
max-age 缓存内容,相对存活时间,相对与Last-Modified的时间,如果当前时间与Last时间只差小于这个值,则不用访问服务器,直接使用缓存,否者要进行新鲜度校验; 例:Cache-Control:max-age=30表示响应可以再缓存和重用 30 秒
If-Modified-Science:与Last-Modified对应
If-None-Match: 版本号 与Etag对应,前面的If-Modified-Science有一个缺点就是虽然文件的更新时间变了,但是内容并没有改变,也会重新发送文档,为了减少网络传输,这里就需要If-None-Match来判断了。主要是判断版本号与当前etag不一致时,更新文档,当Etag一致时只需更新文件更新时间就可以了
服务端 头字段:
Expires:旧版本的使用方式,date是具体的过期时间,当没有cacche-control时使用
Last-Modified:表示的就是文档在服务器上的最后更新时间
Etag:版本号 标识当前文档内容
网友评论