If-Modified-Since 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 HTTPIf-Modified-Sincerequest header makes a requestconditional.The server sends back the requested resource, with a200 status, only if it has been modified after the date in theIf-Modified-Since header.If the resource has not been modified since, the response is a304 without any body, and theLast-Modified response header of the previous request contains the date of the last modification.
UnlikeIf-Unmodified-Since,If-Modified-Since can only be used with aGET orHEAD.When used in combination withIf-None-Match, it is ignored, unless the server doesn't supportIf-None-Match.
The most common use case is to update a cached entity that has no associatedETag.
| Header type | Request header |
|---|---|
| Forbidden request header | No |
In this article
Syntax
If-Modified-Since: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMTDirectives
<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-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMTSpecifications
| Specification |
|---|
| HTTP Semantics> # field.if-modified-since> |
Browser compatibility
See also
ETagIf-Match,If-None-Match,If-Unmodified-Sinceconditional request headers304 Not Modified,412 Precondition Failedresponse status codes