The Expires header contains the date/time after which the response is considered stale.
Invalid dates, like the value 0, represent a date in the past and mean that the resource is already expired.
If there is a Cache-Control header with the "max-age" or "s-max-age" directive in the response, the Expires header is ignored.
| Header type | Response header |
|---|---|
| Forbidden header name | no |
| CORS-safelisted response-header | yes |
Syntax
Expires: <http-date>
Directives
- <http-date>
-
An HTTP-date timestamp.
Examples
Expires: Wed, 21 Oct 2015 07:28:00 GMT
Specifications
| Specification | Title |
|---|---|
| RFC 7234, section 5.3: Expires | Hypertext Transfer Protocol (HTTP/1.1): Caching |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | Servo |
|---|---|---|---|---|---|---|---|
| Expires | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| Feature | Android | Chrome for Android | Edge Mobile | Firefox for Android | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Expires | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |