48 votes

Expires vs max-age, lequel est prioritaire si les deux sont déclarés dans une réponse HTTP ?

Si une réponse HTTP renvoie à la fois les indications Expires et max-age, laquelle est utilisée ?

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

Considérant que chacun d'entre eux se réfère à un moment différent dans le temps.

57voto

Peter O. Points 9967

Voir cette réponse :

Différence entre trois règles d'expiration .htaccess

Si une réponse comprend à la fois un en-tête Expires et une directive max-age, la directive max-age prévaut sur l'en-tête Expires même si l Expires est plus restrictive. Cette règle permet à un serveur d'origine de fournir, pour une réponse donnée, un délai d'expiration plus long à un cache HTTP/1.1 (ou ultérieur) qu'à un cache HTTP/1.0. Cela peut être utile si certains caches HTTP/1.0 calculent incorrectement les âges ou les ou les délais d'expiration, peut-être en raison d'horloges désynchronisées.

12voto

Cybermaxs Points 12146

Ce cas est expliqué dans le document officiel RFC sur le W3C.

La directive max-age est prioritaire sur Expires.

-3voto

Sandz Points 3

Mais que dit la spécification rfc-6265 comme ceci ?

A cookie is "expired" if the cookie has an expiry date in the past.

Finally, to remove a cookie, the server returns a Set-Cookie header
with an expiration date in the past.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X