Cache Validator Overview
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 headers and click “Parse”. It summarizes ETag/If-None-Match/Last-Modified/If-Modified-Since/If-Range relationships.
Notes (this tool)
- When combining ETag and Last-Modified, unstable generation rules can make revalidation inconsistent.
- If-Range applies only to partial responses and is evaluated differently from normal revalidation.
About this page
What does this tool do?
Organize ETag / Last-Modified and their validators (If-None-Match / If-Modified-Since / If-Range) in one view.
Gives a quick overview of 304 behavior and conditional Range validation.
Mappings (quick)
- ETag ⇔ If-None-Match (cache validation)
- Last-Modified ⇔ If-Modified-Since (date validation)
- ETag/Last-Modified ⇔ If-Range (range condition)
Common statuses
- 304 Not Modified: match, no body
- 200 OK: changed or condition failed
- 206 Partial Content: range condition met
- 412 Precondition Failed: If-Unmodified-Since/If-Match failed
Debugging workflow (recommended)
- Extract ETag/Last-Modified via Response Headers Parser
- Check If-* in request headers
- Summarize relationships with this tool
Recommendations by use case
- API (JSON): always include ETag or Last-Modified
- HTML: Last-Modified is often more stable than weak ETag
- Range: align If-Range with ETag/Last-Modified
Related tools
- ETag Inspect
- If-None-Match Inspect
- If-Modified-Since Inspect
- If-Range Inspect
- If-Unmodified-Since Inspect
What this tool does
- Summarize cache validator relationships
- Show header presence and combinations
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 9110 (HTTP Semantics)
- MDN: HTTP caching
FAQ
Do I need both ETag and Last-Modified?
Not mandatory, but having both often improves compatibility and revalidation quality.
When should If-Range be used?
Use it with Range requests when resuming partial transfer only if the resource is unchanged.
References
Next to view (diagnostic order)
These links are generated from site_map rules in recommended diagnostic order.
- If-Match Inspect — Parse If-Match and inspect update preconditions
- If-Unmodified-Since Inspect — Parse If-Unmodified-Since and inspect precondition behavior
- ETag Builder — Build ETag values for testing and operations
- If-None-Match Inspect — Parse If-None-Match and inspect revalidation conditions
- ETag Inspect — Parse ETag and If-None-Match consistency
- If-Modified-Since Inspect — Parse If-Modified-Since and inspect conditional retrieval
- Last-Modified Inspect — Parse Last-Modified and If-Modified-Since
Same-theme links
Cache Validators
Connect ETag/Last-Modified and If-* to judge revalidation flow
- ETag Inspect — Parse ETag and If-None-Match consistency
- ETag Builder — Build ETag values for testing and operations
- If-None-Match Inspect — Parse If-None-Match and inspect revalidation conditions
- If-Match Inspect — Parse If-Match and inspect update preconditions
- If-Modified-Since Inspect — Parse If-Modified-Since and inspect conditional retrieval
- If-Unmodified-Since Inspect — Parse If-Unmodified-Since and inspect precondition behavior
- Last-Modified Inspect — Parse Last-Modified and If-Modified-Since