资料储存

HTTP 缓存要点

2026-09-12

浏览器缓存分两层:先看强缓存,没命中或过期了再走协商缓存。

强缓存

由 Cache-Control 决定,命中时浏览器直接用本地副本,连请求都不发。

老的 Expires 头写的是绝对时间,受客户端时钟影响,两者同时存在时以 Cache-Control 为准。

协商缓存

强缓存过期后,浏览器带上验证信息去问服务器,没变就返回 304,不传正文。

服务器返回浏览器下次带上
ETagIf-None-Match
Last-ModifiedIf-Modified-Since

ETag 更准,Last-Modified 只精确到秒,而且文件内容没变但修改时间变了也会判成变了。

常见配法

排查

开发者工具 Network 面板里,Size 列显示 (disk cache) 或 (memory cache) 是命中强缓存,状态码 304 是协商缓存命中。勾上 Disable cache 可以临时关掉缓存。