The If-Range
HTTP request header makes a range request
conditional: if the condition is fulfilled, the range request will be issued and the
server sends back a 206
Partial Content
answer with the
appropriate body. If the condition is not fulfilled, the full resource is sent back,
with a 200
OK
status.
This header can be used either with a Last-Modified
validator, or
with an ETag
, but not with both.
The most common use case is to resume a download, to guarantee that the stored resource has not been modified since the last fragment has been received.
Header type | Request header |
---|---|
Forbidden header name | no |
Syntax
If-Range: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
If-Range: <etag>
Directives
- <etag>
- An entity tag uniquely representing the requested resource. It is a string of ASCII
characters placed between double quotes (Like
"675af34563dc-tr34"
) and may be prefixed byW/
to indicate that the weak comparison algorithm should be used. - <day-name>
- One of "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", or "Sun" (case-sensitive).
- <day>
- 2 digit day number, e.g. "04" or "23".
- <month>
- One of "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" (case sensitive).
- <year>
- 4 digit year number, e.g. "1990" or "2016".
- <hour>
- 2 digit hour number, e.g. "09" or "23".
- <minute>
- 2 digit minute number, e.g. "04" or "59".
- <second>
- 2 digit second number, e.g. "04" or "59".
GMT
-
Greenwich Mean Time. HTTP dates are always expressed in GMT, never in local time.
Examples
If-Range: Wed, 21 Oct 2015 07:28:00 GMT
Specifications
Specification | Title |
---|---|
RFC 7233, section 3.2: If-Range | Hypertext Transfer Protocol (HTTP/1.1): Range Requests |
Browser compatibility
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.