If-Unmodified-Since

The HyperText Transfer Protocol (HTTP) If-Unmodified-Since request header makes the request for the resource conditional: the server will send the requested resource or accept it in the case of a POST or another non-safe method only if the resource has not been modified after the date specified by this HTTP header. If the resource has been modified after the specified date, the response will be a 412 Precondition Failed error.

The If-Unmodified-Since HTTP header is commonly used in the following situations:

  • In conjunction with non-safe methods, like POST, this header can be used to implement an optimistic concurrency control, as is done by some wikis: editions are rejected if the stored document has been modified since the original was retrieved.
  • In conjunction with a range request using the Range header, this header can be used to ensure that the new fragment requested comes from an unmodified document.
Header type Request header
Forbidden header name no

Syntax

http

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

Directives

<day-name>

A 3-letter description of the day of the week. One of "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", or "Sun" (case-sensitive).

<day>

A 2-digit day number of the month. Examples: "04", "23".

<month>

A 3-letter description of the month. One of "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" (case-sensitive).

<year>

A 4-digit year number. Examples: "1990", "2016".

<hour>

A 2-digit hour number based on a 24-hour system. Examples: "09", "23".

<minute>

A 2-digit minute number. Examples: "04", "59".

<second>

A 2-digit second number. Examples: "04", "59".

GMT

Greenwich Mean Time. HTTP dates are always expressed in GMT, never in local time.

Examples

http

If-Unmodified-Since: Wed, 21 Oct 2015 07:28:00 GMT

Specifications

Specification
HTTP Semantics
# field.if-unmodified-since

Browser compatibility

BCD tables only load in the browser

See also