`no-store` 与长 `max-age` 冲突共存
失败输入:多层中间件叠加后输出矛盾指令。
失败表现:不同缓存节点行为不一致。
修复:统一最终头部生成逻辑,移除冲突指令。
解析缓存指令并识别 TTL 与冲突配置
Quick CTA
每行贴一条 Cache-Control,首屏先看 TTL、public/private 和警告;冲突案例与修复说明放到 Deep。
下一步(Workflow)
Deep 展开踩坑、配方、片段、FAQ 与相关工具,适合排查问题或继续深入。
Cache-Control 解析器用于将 HTTP 缓存头拆解成结构化结果,帮助你快速判断浏览器与 CDN 的缓存行为。你可以批量粘贴多行 Cache-Control,立即看到规范化指令、缓存可用性、可见性(public/private)、TTL 信息(max-age 或 s-maxage),以及冲突配置告警。它适用于 API 响应优化、静态资源缓存策略、反向代理调优等场景,避免因头部细节错误导致缓存击穿、内容陈旧或命中率下降。所有解析在浏览器本地完成,不会上传数据。
no-store
适合高敏感、绝不希望中间层落盘或保留的响应。
no-cache
适合允许缓存保存,但每次复用前都必须校验的响应。
补充:很多团队口头说“不要缓存”,实际想要的往往是 no-cache,而不是更彻底的 no-store。
只看存在
适合快速头部体检。
行为建模
适合 CDN 与浏览器不一致问题排查。
补充:缓存结果由指令组合决定,不是单个字段决定。
一刀切
适合内容形态单一的小站。
分级策略
适合 API、静态资源、个性化页面混合场景。
补充:按路由分级能兼顾性能与新鲜度。
快速处理
适合低影响探索和快速本地核对。
受控流程
适合生产交付、审计留痕或跨团队交接。
补充:Cache Control Parser 工具在发布前设置明确验收标准时更稳定。
直接执行
适合一次性实验和临时排障。
分阶段+复核
适合结果会被下游系统复用的场景。
补充:分阶段校验可减少静默兼容性回退。
失败输入:多层中间件叠加后输出矛盾指令。
失败表现:不同缓存节点行为不一致。
修复:统一最终头部生成逻辑,移除冲突指令。
失败输入:用户数据接口缺少 `private`/`no-store`。
失败表现:存在数据泄露风险。
修复:对个性化响应强制私有缓存策略。
失败输入:验收样例未覆盖边界值。
失败表现:本地看似通过,但在下游消费阶段失败。
修复:导出前统一契约并强制执行预检。
失败输入:调试链路泄露了敏感字段。
失败表现:同一源数据在不同环境得到不一致结果。
修复:明确兼容约束,并用独立消费端回归验证。
Q01
no-store 表示不要保存响应;no-cache 则允许存储,但每次复用前都要先回源校验。
Q02
CDN 这类共享缓存更关注 s-maxage,而浏览器通常按 max-age 以及 private/public 语义来处理。
建议选:使用长 `max-age` + immutable。
谨慎用:避免短 TTL 频繁回源。
建议选:使用 private/no-store 并定义再验证策略。
谨慎用:避免对共享缓存友好的公开缓存指令。
建议选:使用快速处理并配轻量验证。
谨慎用:避免把探索结果直接升格为生产产物。
建议选:采用分阶段流程并保留验证记录。
谨慎用:避免无可回放证据的一步执行。
原因:两者表达的是相反意图,会让团队和中间层对策略理解不一致。
修复:明确选一种目标:要么完全不存储,要么定义清晰的缓存时长。
原因:依赖 Cookie 或用户身份的响应一旦进入共享缓存,可能产生串数据风险。
修复:对个性化内容使用 private 或禁用存储,并单独检查 Cookie 相关影响。
目标:在改 CDN 或发布配置前,先确认当前 Cache-Control 是否同时适合浏览器和共享缓存。
结果:你能更快判断该响应应该被缓存、回源校验,还是完全绕过缓存。
目标:让结果进入共享流程前先通过关键假设校验。
结果:交付更稳定,回滚和返工显著下降。
目标:把重复故障沉淀为可复用诊断流程。
结果:恢复时长缩短,执行差异降低。
HTTP
Cache-Control: public, s-maxage=300, stale-while-revalidate=30Cache-Control 解析器 更适合放在真实输入与发布决策链路中使用,优先关注「带哈希指纹的静态资源」这类高风险场景。
会输出规范化指令、缓存可用性、可见性、TTL 信息,以及常见冲突告警。
可以,例如 no-store 与 max-age 同时出现,或 public 与 private 同时出现。
优先读取 s-maxage,其次读取 max-age;仅在数值合法时显示 TTL。
CDN 更关注共享缓存指令(如 s-maxage),浏览器则结合 max-age 与 private/public 语义处理。
支持。每行一个 Cache-Control,可逐行查看解析结果。
不会。所有解析在浏览器本地执行。