logo
GeekFormat

Cache-Control Parser

Cache-Control 分析

分析缓存策略、可缓存范围和 freshness TTL,也能反向生成可复制的响应头。

解析摘要

Shared caches allowedfreshness: 10m 0sstale-while-revalidate: 30s
Cacheability
Shared caches allowed
Freshness TTL
10m 0s
Stale-While-Revalidate
30s
Stale-If-Error
-

Builder

public, max-age=600, stale-while-revalidate=30

JSON 预览

{
  "directives": [
    {
      "key": "public",
      "value": null
    },
    {
      "key": "max-age",
      "value": "600"
    },
    {
      "key": "stale-while-revalidate",
      "value": "30"
    }
  ],
  "warnings": [],
  "cacheability": "Shared caches allowed",
  "freshnessSeconds": 600,
  "staleWhileRevalidateSeconds": 30,
  "staleIfErrorSeconds": null
}

在线看懂 Cache-Control,不再硬读缓存指令。

相关推荐

适用场景

  • 上线后发现资源更新不及时,先把响应头贴进来判断是不是缓存策略配错了
  • 调试浏览器缓存策略解决页面不更新问题时检查 no-cache 和 must-revalidate 指令
  • 优化静态资源缓存时通过生成器配置 max-age、immutable 和 stale-while-revalidate
  • 检查 API 响应头缓存指令避免敏感数据被缓存时确认 no-store 是否生效

功能特点

  • 缓存策略逐项拆解:TTL、共享缓存、回源时机分开看
  • 解析与生成双向操作:既能解析响应头,也能可视化生成 Cache-Control
  • 秒数自动换算可读时长:max-age 和 s-maxage 值直观展示
  • 生成结果可直接用于服务器配置或 CDN 规则设置

使用方法

  1. 粘贴 Cache-Control 响应头内容到解析区,或使用生成器配置各缓存指令
  2. 解析模式下查看 TTL、缓存范围、重新验证策略和警告信息
  3. 生成模式下勾选 public/private/no-cache/no-store 等指令并填写时间值
  4. 复制生成的 Cache-Control 内容用于服务器配置或覆盖输入区内容继续调试

常见问题

Cache-Control 里的 max-age 和 s-maxage 有什么区别?

max-age 主要影响浏览器本地缓存,s-maxage 更偏向 CDN 和共享缓存;把指令拆开看,才能判断缓存到底卡在哪一层。

为什么明明配置了缓存,浏览器还是频繁回源?

常见原因包括 no-cache、must-revalidate、缓存时间过短,或者响应头之间存在冲突。解析后可以快速定位具体是哪条缓存指令导致未命中。

这个工具适合排查 CDN 缓存和静态资源缓存吗?

适合。无论是图片、JS、CSS,还是 API 响应头,都可以用来检查 TTL、共享缓存策略和过期更新逻辑,方便上线前自检。

可以同时解析和生成 Cache-Control 吗?

可以。粘贴响应头即可解析 TTL、缓存范围和重新验证策略;也能通过勾选指令生成标准 Cache-Control 内容用于服务器配置。