是什么
Cache-Control 缓存策略检查 是什么
缓存控制 (Cache-Control) 响应头检查工具可以帮助您回答一个细微但重要的问题:这些指令是否真的描述了一个一致的缓存策略,还是只是从不同地方复制来的、彼此冲突的代码片段?团队经常发布像 `no-store, max-age=3600` 或 `immutable, no-cache` 这样的响应头,却没意识到它们结合了完全不同的缓存模型规则。
这种混乱通常不会表现为明显的语法错误。它会在以后表现为陈旧的 HTML、过度缓存的 API 响应、混乱的 CDN 行为,或者在支持服务单中大家为缓存本应如何工作而争论不休。检查器的作用在于将这些混合信号转化为一组更精简、更易于审查的策略决策。
如何使用
如何使用Cache-Control 缓存策略检查
粘贴您准备发布的 `Cache-Control` 值,如果您的响应还返回了 `ETag` 和 `Expires`,也可以选择性地包含它们。添加关于使用场景的简短说明,例如经过身份验证的 HTML、公共 API JSON 或带版本的静态资源。
检查器会突出显示您的指令是否指向一个一致的策略:不复用、带验证的存储或长效不可变复用。当 `private`、`public`、`no-store`、`max-age` 和 `immutable` 等指令相互冲突时,它也会发出警告。
使用示例
使用示例
示例:
使用场景: 带版本的 JS 资源
Cache-Control: public, max-age=31536000, immutable
ETag:
Expires:
结果:
该响应头指向一个一致的长效资源策略。这适用于带有哈希值的文件,这些文件可以保持缓存而无需重新验证。常见使用场景
常见使用场景
1. 审查 HTML 响应应该是重新验证还是完全避免缓存。
2. 检查静态资源响应头对于长效不可变 (immutable) 复用是否真的安全。
3. 发现 API 响应中是否意外混合了从不同示例中复制的 no-store 和 max-age。
4. 在部署前对比面向浏览器的缓存规则与面向 CDN 的缓存预期。
常见问题