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
  • 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

  1. RFC 9110
  2. MDN: If-Range

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

  1. Content-Range Inspect — Parse Content-Range and inspect returned ranges
  2. Range Request Builder — Build Range request headers
  3. Accept-Ranges Inspect — Parse Accept-Ranges and inspect partial-content support
  4. Content-Length Inspect — Parse Content-Length and inspect size consistency

Range/Partial Content

Cross-check Range/Content-Range/If-Range to validate partial delivery