强制缓存:
在response-header中做如下设置
http1.1
cache-control: max-age:31536000, immutable
http1.0 (以浏览器所在机器时间为准 不可靠)
expire: 'Mon, 19 Oct 2020 00:25:44 GMT"
设置优先级:http1.1>http1.0
max-age:有效期
immutable:有效期内文件不会更改 即使刷新页面也不会发起HTTP请求去验证缓存的有效性
public: 客户端和代理服务器均可缓存
private: 只允许客户端即浏览器端缓存
no-cache: 无论缓存是否过期,必须请求源服务器校验缓存有效性
must-revalidate:缓存有效则直接使用缓存,缓存过期,请求源服务器校验缓存有效性
no-store: 禁止客户端和代理服务器缓存
协商缓存:
在response-header中做如下设置
etag: "fsdfe-f3334"
last-modified: ''Mon, 19 Oct 2020 00:25:44 GMT"
image.png
优先级
强缓存 > 协商缓存
注意事项
1.设置cache-control: no-cache则开启协商缓存
2.点击浏览器返回,若设置了must-revalidate
参考
https://zhuanlan.zhihu.com/p/60357719
https://blog.csdn.net/weixin_33520952/article/details/112833091
网友评论