Expires
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 Expires
response header contains the date/time after which the response is considered expired in the context of HTTP caching.
The value 0
is used to represent a date in the past, indicating the resource has already expired.
Note:
If there is a Cache-Control
header with the max-age
or s-maxage
directive in the response, the Expires
header is ignored.
Header type | Response header |
---|---|
Forbidden header name | No |
CORS-safelisted response header | Yes |
Syntax
Expires: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
Directives
<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
Expires: Wed, 21 Oct 2015 07:28:00 GMT
Specifications
Specification |
---|
HTTP Caching # field.expires |
Browser compatibility
BCD tables only load in the browser
See also
- HTTP caching guide
Cache-Control
Age