http缓存策略(强制缓存)
- 浏览器初次访问服务器,服务器返回资源和Cache-Control(服务器端觉得可以被缓存就会加上Cache-control,如果觉得不被缓存就不加)
- 浏览器再次访问服务器,首先会判断有没有设置Cache-Control,然后看Cache-Control设置的时间有没有过期,如果没有过期,直接在本地缓存里获取
- Cache-Control是否缓存,客户端控制不了,只能服务器端Response Headers返回控制
- Cache-Control是控制强制缓存的逻辑
- 例如将数据强制缓存1年:Cache-Control:max-age=31536000(单位是秒)
- 如果缓存失效了,会再次访问服务端
- Cache-Control的值有哪些
- max-age:本地缓存时间
- no-cache:不缓存
- no-store:本地不缓存,而且不需要服务端的缓存措施
- private:只允许最终用户做缓存
- public:允许中间代理做缓存
- 关于Expires
- 同Cache-Control都在Response Headers中
- 同为控制缓存过期
- 已被Cache-Control代替