| 名称 | Cache-Control |
|---|---|
| 作用 | 定义请求/响应的缓存策略 |
| 规范 | RFC 9111 §5.2 |
| 指令举例 | max-age、no-store、private、must-revalidate、immutable |
响应侧高频指令
| 指令 | 含义 |
|---|---|
| max-age=600 | 响应在 600 秒内是新鲜的 |
| s-maxage=3600 | 共享缓存(CDN)单独时长,优先于 max-age |
| no-store | 任何缓存都不得存储(敏感数据) |
| no-cache | 可存储但每次必须回源再验证 |
| private | 只允许浏览器缓存,共享缓存不得存 |
| immutable | 声明资源不会变,浏览器跳过再验证 |
静态资源长期缓存 + 指纹
静态资源长期缓存 + 指纹
location /static/ {
add_header Cache-Control "public, max-age=31536000, immutable";
}
# 配合文件名哈希(app.9f2c1a.js)实现「永不失效」