49

If a HTTP response that returns both Expires and max-age indications which one is used?

Cache-Control: max-age=3600
Expires: Tue, 15 May 2008 07:19:00 GMT

Considering that each one refers to a different point in time.

BartoszKP
  • 34,786
  • 15
  • 102
  • 130
vtortola
  • 34,709
  • 29
  • 161
  • 263

2 Answers2

58

See this answer:

Difference between three .htaccess expire rules

If a response includes both an Expires header and a max-age directive, the max-age directive overrides the Expires header, even if the Expires header is more restrictive. This rule allows an origin server to provide, for a given response, a longer expiration time to an HTTP/1.1 (or later) cache than to an HTTP/1.0 cache. This might be useful if certain HTTP/1.0 caches improperly calculate ages or expiration times, perhaps due to desynchronized clocks.

Community
  • 1
  • 1
Peter O.
  • 32,158
  • 14
  • 82
  • 96
14

This case is explained in the official RFC on W3C.

The max-age directive takes priority over Expires

Cybermaxs
  • 24,378
  • 8
  • 83
  • 112