缓存头部分析器
分析任意 URL 的 HTTP 缓存头。检查 Cache-Control、Expires、ETag、Last-Modified、Vary、Age 以及常见的 CDN 缓存信号,以理解浏览器与共享缓存的行为。包含重定向追踪、原始头信息视图、过滤、问题发现以及 JSON/PDF 导出功能。
功能
- 基于 URL 的缓存审计,提供清晰的评分卡与发现项(专注于缓存/性能头信息)。
- 跟踪重定向(最多 10 次),查看缓存规则实际应用的位置。
- 原始头信息视图,确保完全透明(服务器/CDN 实际返回的内容)。
- 缓存分析亮点:Cache-Control 指令、Expires/Pragma 及其冲突。
- 验证器检查:ETag 和 Last-Modified 检测(用于条件请求与重新验证)。
- Vary 分析,捕捉缺失或有风险的 Vary 行为(尤其针对个性化内容)。
- CDN 信号检测:Age、Via、CF-Cache-Status、X-Cache 以及 Fastly/Akamai/CloudFront 风格的头信息。
- 过滤器与“仅显示问题”模式,快速聚焦于可操作的问题。
- 将结果导出为 JSON 和 PDF 报告(非常适合审计和交付给客户)。
- 优先使用 HEAD 探测(回退到 GET),在保持兼容性的同时最小化带宽使用。
🧭 使用方法 for cache-headers-analyzer
输入 URL
粘贴您想要审计的完整 URL(例如,[https://example.com/static/app.css](https://example.com/static/app.css))。
选择请求行为
保持启用“优先尝试 HEAD(回退到 GET)”以进行快速检查。如果 URL 可能重定向(HTTP→HTTPS、www、CDN 等),请启用“跟踪重定向”。
选择分析器焦点
使用“自动(推荐)”以获得平衡视图。切换到“浏览器缓存”、“CDN / 代理缓存”或“API 缓存”,以优先显示与您的端点最相关的发现项。
查看发现项与头信息分类
首先检查评分/发现项,然后深入查看缓存指令、验证器(ETag/Last-Modified)、Vary 分析以及 CDN 信号(Age、缓存状态头信息)。如果需要完整响应,请开启“显示原始头信息”。
导出报告
下载 JSON 报告用于自动化处理,或下载 PDF 报告用于审计以及与团队成员/客户共享。
技术规格
请求模型
此工具执行 URL 头信息检查,并可选择跟踪重定向。它首先尝试 HEAD 请求(如果启用),并在需要时回退到 GET。
| 设置 | 行为 | 默认值 |
|---|---|---|
| 优先尝试HEAD(回退至GET) | 使用HEAD快速获取头部信息;若HEAD不受支持或信息不足则回退至GET | 已启用 |
| 跟随重定向 | 跟随重定向链以检查最终缓存行为 | 已启用 |
| 最大重定向次数 | 重定向上限,防止无限循环 | 10(范围0–20) |
| 超时时间 | 请求超时限制 | 15000毫秒 |
| 用户代理 | 标识请求的用户代理 | Encode64Bot/1.0 (+[https://encode64.com](https://encode64.com)) |
| 私有网络 | 出于安全考虑,阻止访问私有网络范围 | 已禁用(不允许私有网络) |
分析的头部与信号
分析器专注于缓存语义(浏览器和共享缓存)以及常见的CDN边缘信号。
| 类别 | 示例 |
|---|---|
| 缓存指令 | Cache-Control、Expires、Pragma、Surrogate-Control、CDN-Cache-Control |
| 验证器 | ETag、Last-Modified(用于条件请求/重新验证) |
| 共享缓存行为 | s-maxage、stale-while-revalidate、stale-if-error(当出现在Cache-Control中时) |
| Vary行为 | Vary(缓存键变化和个性化安全性) |
| CDN/代理信号 | Age、Via、CF-Cache-Status、X-Cache、X-Cache-Hits、Server-Timing及其他边缘提示 |
启发式规则(触发警告的条件)
分析结果基于实用的缓存启发式规则,旨在帮助发现缺失、矛盾或薄弱的缓存策略。
| 启发式规则 | 检查内容 |
|---|---|
| 缺少Cache-Control | 当Cache-Control缺失时发出警告 |
| 冲突的指令 | 当指令出现不一致时发出警告(例如,混合的缓存意图) |
| 缺少验证器 | 当可缓存响应缺少ETag/Last-Modified时发出警告 |
| 弱验证器 | 标记相关的弱验证器模式 |
| Vary风险 | 当可能需要变化但Vary似乎缺失时发出警告 |
| Pragma no-cache不匹配 | 当出现Pragma: no-cache但没有相应的Cache-Control时发出警告 |
分类(静态资源 vs HTML vs API)
分析器可以从URL路径推断内容类型意图,以定制缓存建议。
| 类别 | 路径模式(示例) |
|---|---|
| 静态资源 | .css、.js、.png、.svg、.woff2等 |
| HTML | .html、.htm |
| API | 以/api/开头或以.json结尾的路径 |
命令行
使用这些CLI代码片段在本地检查缓存头。它们不替代此工具的发现/评分,但可以帮助您快速复现结果。
macOS / Linux
使用HEAD请求获取头信息
curl -I [https://example.com/static/app.css](https://example.com/static/app.css)在不下载正文的情况下检查Cache-Control、Expires、ETag、Last-Modified、Vary和CDN信号。
跟随重定向并显示头信息
curl -IL [https://example.com/](https://example.com/)显示重定向链,以便验证缓存指令在何处更改。
Run
Windows (PowerShell)
获取响应头信息
(Invoke-WebRequest -Uri [https://example.com/static/app.css](https://example.com/static/app.css) -Method Head).Headers列出包括 Cache-Control、ETag、Last-Modified 以及供应商 CDN 头信息(如果存在)。
使用场景
静态资源缓存审计(CSS/JS/图片/字体)
验证指纹化资源是否可长期缓存,并在需要时能有效重新验证。
- 确认 Cache-Control 包含较长的 max-age 和(适当时)immutable 标志
- 确保存在验证器(ETag 或 Last-Modified)以安全重新验证
- 检查 CDN 缓存命中指示器(Age、CF-Cache-Status、X-Cache)
Cache-Control: public, max-age=31536000, immutable
ETag: "686897696a7c876b7e"
Vary: Accept-Encoding防止 HTML 页面意外缓存
发现 HTML 页面在 CDN 或浏览器级别缓存过于激进的情况,这可能会破坏登录流程、个性化设置和 SEO 渲染一致性。
- 检测 HTML 上过于宽松的 Cache-Control 设置
- 识别缺少 Vary 头的情况,其中内容因 Cookie、认证或语言而异
- 确认安全的重新验证模式
API 端点缓存审查
了解 API 响应是否启用了共享缓存,以及您的 API 是否可安全缓存。
- 通过 s-maxage 检测共享缓存
- 识别 stale-while-revalidate / stale-if-error 策略
- 当 API 响应可缓存时标记缺少验证器的情况
跨重定向调试 CDN 行为
许多网站会进行重定向(HTTP→HTTPS、根域名→www、区域重定向)。此工具有助于确保从第一跳到最终响应的缓存策略保持一致。
- 验证每个跳转和最终 URL 的头信息
- 捕获边缘规则或源重写引入的缓存头变化
❓ Frequently Asked Questions
❓此工具分析哪些缓存相关的头信息?
❓为什么我在浏览器和 CDN 之间看到不同的缓存结果?
❓ETag 和 Last-Modified 有什么用途?
❓我应该长期缓存 HTML 页面吗?
❓什么是 Vary,为什么它很重要?
❓在这里粘贴 URL 安全吗?
❓我可以导出分析结果吗?
JSON 报告和 PDF 报告,以便您分享结果或将其附加到性能审计中。Pro Tips
如果您的资源文件带有指纹(文件名中包含哈希值),请使用较长的 max-age 并配合 immutable 指令,以实现最佳重复访问性能。
如果 HTML 是个性化的(基于 Cookie 或身份验证),请避免在共享缓存中缓存,除非您能完全控制缓存键和 Vary 行为。
对于可缓存的资源,建议优先使用验证器(ETag 或 Last-Modified),这样客户端可以通过 304 状态码重新验证,而无需重新下载。
注意相互冲突的指令,例如 no-store 与较长的 max-age 同时使用;这通常表明配置有误。
调试重定向时,请比较每个跳转步骤的缓存头;边缘规则可能会在重定向和最终 URL 之间改变缓存行为。
导出 JSON 报告并将其保存在 CI/性能审计工件中,以便随时间推移跟踪性能退化情况。
Additional Resources
Other Tools
- CSS 美化器
- HTML 美化器
- JavaScript 美化器
- PHP 美化器
- 颜色选择器
- 精灵图提取器
- Base32 二进制编码器
- Base32 解码器
- Base32 编码器
- Base58 二进制编码器
- Base58 解码器
- Base58 编码器
- Base62 二进制编码器
- Base62 解码器
- Base62 编码器
- Base64 二进制编码器
- Base64 解码器
- Base64 编码器
- 十六进制二进制编码器
- 十六进制解码器
- 十六进制编码器
- C# 格式化器
- CSV 格式化器
- Dockerfile Formatter
- Elm 格式化器
- ENV 格式化器
- Go 格式化器
- GraphQL 格式化器
- HCL 格式化器
- INI 格式化器
- JSON 格式化器
- LaTeX 格式化器
- Markdown 格式化器
- Objective-C 格式化器
- Php Formatter
- Proto 格式化器
- Python 格式化器
- Ruby 格式化器
- Rust 格式化器
- Scala 格式化器
- Shell 脚本格式化器
- SQL 格式化器
- SVG 格式化工具
- Swift 格式化工具
- TOML 格式化工具
- Typescript Formatter
- XML 格式化工具
- YAML 格式化工具
- Yarn 格式化工具
- CSS 压缩器
- Html Minifier
- Javascript Minifier
- JSON 压缩器
- XML 压缩器
- Cors Checker
- Csp Analyzer
- Dns Records Lookup
- HTTP 头部查看器
- Http Status Checker
- Open Graph Meta Checker
- Redirect Chain Viewer
- Robots Txt Tester
- Security Headers Checker
- Security Txt Checker
- Sitemap Url Inspector
- Tls Certificate Checker
- PDF 转文本
- 正则表达式测试器
- 搜索引擎排名检查器
- Whois 查询