If-Modified-Since

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-Modified-Since request header makes a request conditional. The server sends back the requested resource, with a 200 status, only if it has been modified after the date in the If-Modified-Since header. If the resource has not been modified since, the response is a 304 without any body, and the Last-Modified response header of the previous request contains the date of the last modification.

Unlike If-Unmodified-Since, If-Modified-Since can only be used with a GET or HEAD. When used in combination with If-None-Match, it is ignored, unless the server doesn't support If-None-Match.

The most common use case is to update a cached entity that has no associated ETag.

Header type Request header
Forbidden header name No

Syntax

http
If-Modified-Since: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT

Directives

<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-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT

Specifications

Specification
HTTP Semantics
# field.if-modified-since

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
If-Modified-Since

Legend

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

Full support
Full support

See also