浏览器缓存机制
- 首次请求资源
- 缓存资源
- 缓存相关响应头信息作为后续请求头
- 后续请求资源
- 强缓存判断:是否允许浏览器直接使用本地缓存的资源,而无需向服务器发送请求,适用于不常改动的静态资源
- 优先判断请求头
Cache-Control的max-age:缓存有效的时间长度 - 判断请求头
Expires:表示缓存失效的具体日期时间
- 优先判断请求头
- 协商缓存判断:请求服务器是否需要重新下载资源,不需要则返回 304,表示可以继续使用本地缓存的资源,适用于随时可能改动的资源
- 优先判断请求头
If-Node-Match:表示资源的唯一标识符, 资源内容没有改动就不会变,服务器将其与响应头Etag比对 - 判断请求头
If-Modified-Since:表示资源的最后修改时间, 服务器将其与响应头Last-modified比对
- 优先判断请求头
- 强缓存判断:是否允许浏览器直接使用本地缓存的资源,而无需向服务器发送请求,适用于不常改动的静态资源