Cache Diagnostic

Analyze cache-related headers across layers. No input is sent to a server. Use it for first-pass revalidation and CDN mismatch troubleshooting.

Status

Runs in your browser. No input is sent to a server. Use this as a first-pass diagnostic step.

How to use

Paste response headers and click “Diagnose”. Start with summary, then move to dedicated inspect tools when needed.

Notes (this tool)

  • Results are based on pasted headers only. Validate real CDN/path behavior separately.
  • no-cache and no-store are different. Separate revalidation behavior from storage policy in analysis.

About this page

What does this tool do?

Evaluate Cache-Control / Expires / Age / ETag / Last-Modified / Vary / Range together.

Debugging workflow (recommended)

  • Paste response headers
  • Use Summary to judge cache policy
  • Inspect details with individual tools if needed

Symptom-based checks (common cases)

  • “Updates are not reflected”: check max-age, immutable, and versioned URLs
  • “Never getting 304”: verify ETag/Last-Modified with matching If-* headers
  • “Behavior differs on CDN”: inspect s-maxage, Age, and Vary
  • “Range delivery is unstable”: verify Accept-Ranges, Content-Range, and compression state
  • Cache-Control Inspect
  • Cache Control Overview
  • Expires Inspect
  • ETag Inspect
  • Last-Modified Inspect
  • Vary Inspect
  • Range Request Builder

Revalidation view (ETag / Last-Modified)

In general, prefer ETag-based revalidation (If-None-Match) when available, with Last-Modified as a fallback.

  • Need stronger change detection: prefer ETag
  • Lightweight setups may work with Last-Modified only
  • If both are emitted, keep them consistent

Recommendations by use case

  • API (JSON): no-store or no-cache + validators
  • HTML: short max-age + validators / no-cache
  • Static assets: long max-age + immutable + versioned URL

Common pitfalls

  • Long max-age on HTML delays deployments
  • Missing Vary causes mixed caches across language/encoding variants
  • Inconsistent ETag generation across paths breaks revalidation
  • Confusing no-cache with no-store leads to unexpected behavior

What this tool does

  • Judge cacheability/revalidation/shared-cache eligibility
  • List validators/Range/compression hints

Operational notes

  • Cache behavior changes across browser, CDN, and proxy layers, so compare captures from the same observation point.
  • Header-only diagnosis may be insufficient. Also review application cache invalidation strategy and key design.

Referenced specs

  • RFC 9111 (HTTP Caching)
  • RFC 9110 (HTTP Semantics)

FAQ

Where should I start when 304 never appears?

Start by checking round trips between ETag/Last-Modified and If-* request headers.

Why does behavior differ only through CDN?

Common causes are s-maxage, Vary, compression differences, and validator changes from edge processing.

References

  1. RFC 9111
  2. RFC 9110
  3. MDN: HTTP Caching

Page-specific case studies

Cross-check headers first to identify which layer (browser, CDN, origin) is causing cache failure.

  • Review Cache-Control, ETag, Last-Modified, Vary, and Age together from response headers.
  • Compare origin-direct and CDN responses for the same URL.
  • Confirm If-None-Match or If-Modified-Since is sent on re-requests.

Page-specific implementation checklist

  • Use separate cache policies for HTML, API, and static assets.
  • Keep ETag generation consistent across delivery paths.
  • Use versioned URLs for long-lived static caching.
  • Track Age and Vary as production monitoring metrics.

These links are generated from site_map rules in recommended diagnostic order.

  1. Cache Not Working Troubleshooting — Troubleshoot cache-not-working symptoms step by step from headers
  2. HTTP Cache Mismatch — Identify root causes of cache mismatches
  3. Cache Response Analyzer — Judge cacheability from response headers
  4. How to Diagnose Missing 304 Responses — Trace ETag/Last-Modified and If-* round trips to isolate missing 304 behavior
  5. How to Diagnose Stale Content After Deployment — Check cache policy by HTML/API/static assets to isolate stale deployment issues quickly
  6. How to choose cache tools — Route stale-update, missing-304, and CDN-only mismatch issues to the right tools
  7. Cache Key Inspect — Visualize cache-key splits from URL, Vary, and headers
  8. Cache Control Overview — Summarize how to use Cache-Control/Pragma/Expires together

Cache Control

Diagnose delivery policy across Cache-Control/Expires/Age