The If-Range
request HTTP header makes the range request conditional: if the condition is fulfilled, the range request will be and the server send 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_value>
- An entity tag uniquely representing the requested resource. It isa 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
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.
File "http/headers/if-range.json" not found or malformed.