WEB缓存机制
1. 类别
- 数据库缓存
- CDN缓存(Content Delivery Network 内容分发网络)
- 代理服务器缓存
- 浏览器缓存(http缓存)
- 应用层缓存(代码层面上,通过代码逻辑将请求过的数据缓存起来)
2. Cache-Control
- no-cache 优先询问服务器
- no-store 禁止本地存储,每次从服务器下载
- public 可以被代理服务器缓存
- private 只能被客户端缓存
- max-age 设置资源被缓存的最长时间
3. 名词
- 强缓存(Expires/max-age)
强致缓存。在HTTP1.0中强缓存通过Expires响应头实现。
在HTTP1.1中,Cache-control响应头实现,其中max-age=xxx表示缓存资源将在xxx秒后过期。
- 协商缓存(Last-Modified/E-tag)
协商缓存。在HTTP1.0中第一次请求资源时通过服务器设置Last-Modified响应头,填入最后修改时间。在之后的每次请求中都会在请求头中带上If-Modified-Since字段,如果未更新就返回304,指导浏览器从本地缓存中读取。
在HTTP1.1中,Etag设置响应头缓存标志。请求头附带If