Content-Range
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 header name | 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
bytes
is 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 Satisfiable
response 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
BCD tables only load in the browser
See also
- HTTP range requests guide
If-Range
,Range
headersContent-Type
206 Partial Content
,416 Range Not Satisfiable
status codes