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

http
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 by W/) must not be used in this header.

<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

http
If-Range: Wed, 21 Oct 2015 07:28:00 GMT

If-Range: "67ab43"

Specifications

Specification
HTTP Semantics
# field.if-range

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
If-Range
Chrome – Full support
Chrome 1 (Release date: 2008-12-11)
footnote Full support
Edge – Full support
Edge 12 (Release date: 2015-07-29)
footnote Full support
Firefox – Full support
Firefox 1 (Release date: 2004-11-09)
footnote Full support
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – Full support
Safari 1 (Release date: 2003-06-23)
footnote Full support
Chrome Android – Full support
Chrome Android 18 (Release date: 2012-06-27)
footnote Full support
Firefox for Android – Full support
Firefox for Android 4 (Release date: 2011-03-29)
footnote Full support
Opera Android – Full support
Opera Android 14 (Release date: 2013-05-21)
footnote Full support
Safari on iOS – Full support
Safari on iOS 1 (Release date: 2007-06-29)
footnote Full support
Samsung Internet – Full support
Samsung Internet 1 (Release date: 2013-04-27)
footnote Full support
WebView Android – Full support
WebView Android 4.4 (Release date: 2013-12-09)
footnote Full support
WebView on iOS – Full support
WebView on iOS 1 (Release date: 2007-06-29)
footnote Full support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also