Cache-Control Inspect
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 Cache-Control and click “Parse”. Directives are listed.
Notes (this tool)
- ETag/Expires/Last-Modified are separate headers.
About this page
What does this tool do?
Parse Cache-Control and list directives like max-age/no-store/no-cache.
Useful for diagnosing cache hits/misses.
Pair it with HTTP Header Parser by pasting real response headers for faster troubleshooting.
Cache-Control basics (quick)
- Cache-Control defines caching behavior for responses (browser/proxy/CDN, etc.).
- no-store means “do not store”, while no-cache means “must revalidate”.
- max-age is the cache lifetime in seconds.
Typical use cases
- Validate caching for static assets (CSS/JS/images)
- Debug API responses being cached (or not cached) unexpectedly
- Understand CDN vs browser caching (e.g., s-maxage)
Common directives
- public / private: whether shared caches may store it
- max-age: browser cache lifetime (seconds)
- s-maxage: shared cache lifetime (CDN/proxy)
- no-store: do not store (for sensitive responses)
- no-cache: revalidate before use
- must-revalidate: must revalidate once stale
Common pitfalls
- Misunderstanding no-cache as “no caching” (it means revalidate)
- Accidentally making APIs publicly cacheable
- Revalidation not working due to missing ETag/Last-Modified
Recommendations by use case
- API (JSON): use no-store for sensitive data; otherwise no-cache + validators
- HTML: no-cache + must-revalidate or short max-age + validators
- Static assets: long max-age + immutable + versioned URLs
What this tool does
- Split Cache-Control directives
- Inspect values like max-age/s-maxage
- Assist with ETag/Expires/Last-Modified checks
Debugging workflow (recommended)
- Paste response headers
- Review Cache-Control, ETag, and Last-Modified
- Trace 304/206/CDN differences with related inspectors
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)
- MDN (Cache-Control / ETag)
FAQ
no-cache vs no-store?
no-store forbids storage; no-cache requires revalidation (often with ETag).
Why do browser and CDN behaviors differ?
Shared caches may follow rules like s-maxage. CDN/proxy configuration also affects behavior.
References
Next to view (diagnostic order)
These links are generated from site_map rules in recommended diagnostic order.
- How to Diagnose Stale Content After Deployment — Check cache policy by HTML/API/static assets to isolate stale deployment issues quickly
- How to choose cache tools — Route stale-update, missing-304, and CDN-only mismatch issues to the right tools
- ETag Inspect — Parse ETag and If-None-Match consistency
- Cache Control Overview — Summarize how to use Cache-Control/Pragma/Expires together
- Vary Inspect — Parse Vary and visualize cache variation keys
- Cache Key Inspect — Visualize cache-key splits from URL, Vary, and headers
- Cache Not Working Troubleshooting — Troubleshoot cache-not-working symptoms step by step from headers
- HTTP Cache Mismatch — Identify root causes of cache mismatches
Same-theme links
Cache Control
Diagnose delivery policy across Cache-Control/Expires/Age
- Cache Not Working Troubleshooting — Troubleshoot cache-not-working symptoms step by step from headers
- HTTP Cache Mismatch — Identify root causes of cache mismatches
- Cache Response Analyzer — Judge cacheability from response headers
- Cache Key Inspect — Visualize cache-key splits from URL, Vary, and headers
- Cache Diagnostic — Run cross-header diagnostics for HTTP caching
- Cache Control Overview — Summarize how to use Cache-Control/Pragma/Expires together
- Pragma Cache Inspect — Parse Pragma and inspect legacy cache control behavior
- Expires Inspect — Parse Expires and Date to inspect freshness behavior
- Age Inspect — Parse Age to estimate shared-cache residency time
Example
Cache-Control: max-age=3600, public
Cache-Control: no-store