If-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 If-Range request header makes a range request conditional.
If the condition is fulfilled, a range request is issued, and the server sends back a 206 Partial Content response with part (or parts) of the resource in the 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 the Last-Modified validator or with ETag, but not with both.
The most common use case is to resume a download with guarantees that the resource on the server has not been modified since the last part has been received by the client.
| Header type | Request header | 
|---|---|
| Forbidden request header | 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"). A weak entity tag (one prefixed byW/) must not be used in this header.
- <day-name>
- 
One of Mon,Tue,Wed,Thu,Fri,Sat, orSun(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
If-Range: "67ab43"
Specifications
| Specification | 
|---|
| HTTP Semantics> # field.if-range> | 
Browser compatibility
Loading…
See also
- HTTP Conditional Requests guide
- ETag
- Last-Modified
- If-Match,- If-Modified-Since,- If-Unmodified-Since,- If-None-Matchconditional request headers
- 206 Partial Content,- 412 Precondition Failed,- 416 Range Not Satisfiableresponse status codes