强制缓存:(优先级高,这些参数都是第一次请求资源是服务器给的,也就是服务器设置的)
1、服务器开启Cache-Control缓存控制(优先级更高)
(相对时间,在这个时间之前不会和服务器通信,本地拿过来直接用)
Cache-Control:max-age=3600,这里是3600秒过期,过期前不会和服务器通信,直接用本地缓存
Cache-Control:no-cache,不使用本地缓存
2、服务器开启Expires(过期时间,绝对时间)
Expires:Thu,21 Jan 2017 23:39:02 GMT
协商缓存:(本地有,问服务器要不要用,是不是过期)
1、Last-Modified(服务器返回此文件最后修改时间)
If-Modified-Since(客户端第二次请求该资源带着上次服务器返回的此文件最后修改时间,比对是否相同)
2、Etag(优先级更高)(第一次请求资源服务器返回一个Etag值)
If-None-Match(第二次请求资源客户端带着之前的Etag值给服务器进行比对)
如果多个参数同事存在时:
强缓存优先级更高,而在强缓存中,Cache-Control比Expires优先级高
协商缓存中,Etag比Last-Modified优先级高
三种刷新操作
1、正常操作:地址栏输入url,跳转链接,前进后退等
2、手动刷新:F5,点击刷新按钮,右键菜单刷新
3、强制刷新:ctrl+F5
不同的刷新操作,不同的缓存策略
1、正常操作:强制缓存有效,协商缓存有效
2、手动刷新:强制缓存失效,协商缓存有效
3、强制刷新:强制缓存失效,协商缓存失效
网友评论