If-Range 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 If-Range or Request Headers and click “Parse”. It identifies ETag or date.
Notes (this tool)
- Accepts If-Range: header lines (multi-line paste is OK).
About this page
What does this tool do?
Parse If-Range and determine whether it is an ETag or a date.
Used for conditional range requests and change detection.
Basics (role of If-Range)
- If-Range applies Range only if the validator matches; otherwise a full response is returned.
- The condition is either an ETag or a Last-Modified date.
- If it matches, 206 is returned; otherwise typically 200.
Input examples
- If-Range: "abc123"
- If-Range: Wed, 21 Oct 2015 07:28:00 GMT
- Paste full Request Headers
Common pitfalls
- Mixing ETag and date formats (invalid)
- Stale If-Range causing full 200 responses
- Server ignores If-Range and returns 200
- Weak ETag (W/) loosens match semantics
When to use If-Range
Use it for resume downloads: “continue if unchanged, otherwise restart.”
Debugging workflow (recommended)
- Check values with ETag Inspect / Last-Modified Inspect
- Build Range with Range Request Builder
- Parse If-Range with this tool
Related tools
- ETag Inspect
- Last-Modified Inspect
- Range Request Builder
- Content-Range Inspect
- If-None-Match Inspect
Recommendations (practical)
- For Range, align If-Range with ETag/Last-Modified
- Return Accept-Ranges and distinguish 206/200
- Especially useful for large file delivery
What this tool does
- Detect whether If-Range is ETag or date
- Check conditional range usage
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: If-Range
FAQ
When should I use If-Range?
Use it when you want partial content only if the resource hasn’t changed.
How is If-Range different from If-None-Match?
If-Range is specific to Range requests; If-None-Match is general cache validation.
References
Next to view (diagnostic order)
These links are generated from site_map rules in recommended diagnostic order.
- Content-Range Inspect — Parse Content-Range and inspect returned ranges
- Range Request Builder — Build Range request headers
- Accept-Ranges Inspect — Parse Accept-Ranges and inspect partial-content support
- Content-Length Inspect — Parse Content-Length and inspect size consistency
Same-theme links
Range/Partial Content
Cross-check Range/Content-Range/If-Range to validate partial delivery
- Accept-Ranges Inspect — Parse Accept-Ranges and inspect partial-content support
- Range Request Builder — Build Range request headers
- Content-Range Inspect — Parse Content-Range and inspect returned ranges
- Content-Length Inspect — Parse Content-Length and inspect size consistency