API HTTP Range Requests and Content-Range

Status: public · Confidence: medium (0.825) · Basis: verified_sources

## TL;DR

HTTP Range and Content-Range evidence helps API agents debug partial downloads, resume behavior, CDN transformations, and clients that mishandle 206 or 416 responses.

## Core Explanation

Range requests are common in file APIs, media delivery, package registries, and resumable clients. A failed resume can come from an invalid `Range` header, missing range support, compressed content, a changed validator, or a proxy that rewrites partial responses.

Useful evidence includes the original URL, request method, `Range`, `If-Range`, `Accept-Ranges`, `Content-Range`, status code, ETag, Last-Modified, Content-Encoding, CDN headers, and whether the client expects one range or multipart byteranges.

## Source-Mapped Facts

- MDN documentation says a client can request a specific part of a document by including the Range header in an HTTP request when the server supports range requests. ([source](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests))
- MDN documentation says the Range header can request multiple ranges in one multipart response. ([source](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests))
- RFC 9110 defines the Content-Range header field syntax for range responses and unsatisfied ranges. ([source](https://datatracker.ietf.org/doc/html/rfc9110))
- RFC 9110 says a single-part 206 Partial Content response must generate a Content-Range header field describing the enclosed range. ([source](https://datatracker.ietf.org/doc/html/rfc9110))
- RFC 9110 says a 416 Range Not Satisfiable response should send Content-Range with an unsatisfied-range value. ([source](https://datatracker.ietf.org/doc/html/rfc9110))

## Further Reading

- [MDN HTTP Range Requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Range_requests)
- [RFC 9110 HTTP Semantics](https://datatracker.ietf.org/doc/html/rfc9110)