Content-Range header
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The HTTP Content-Range response header is used in range requests to indicate where the content of a response body belongs in relation to a complete resource.
It should only be included in 206 Partial Content or 416 Range Not Satisfiable responses.
| Header type | Response header, Content header |
|---|---|
| Forbidden request header | No |
| CORS-safelisted request header | No |
Syntax
Content-Range: <unit> <range>/<size>
Content-Range: <unit> <range>/*
Content-Range: <unit> */<size>
Directives
<unit>-
The unit for specifying ranges. Currently, only
bytesis supported. <range>-
A range with the format
<range-start>-<range-end>, where<range-start>and<range-end>are integers for the start and end position (zero-indexed & inclusive) of the range in the given<unit>, respectively.*is used in a416 Range Not Satisfiableresponse to indicate that the value is not a range. <size>-
The total length of the document (or
*if unknown).
Examples
>Partial content response
This 206 Partial Content response shows a partial response, with the Content-Range indicating that it contains the first 1024 bytes of a 146515 byte file.
HTTP/2 206
content-type: image/jpeg
content-length: 1024
content-range: bytes 0-1023/146515
…
(binary content)
Range not satisfiable
If the server cannot satisfy the requested range request, it should respond with a 416 Range Not Satisfiable status, and the Content-Range should specify * for the range along with the total size of the resource.
HTTP/2 416
Content-Range: bytes */67589
Specifications
| Specification |
|---|
| HTTP Semantics> # field.content-range> |
Browser compatibility
Loading…
See also
- HTTP range requests guide
If-Range,RangeheadersContent-Type206 Partial Content,416 Range Not Satisfiablestatus codes