HTTPQUERY
Español

Expires

Uso

La cabecera Expires proporciona una marca de tiempo absoluta que indica cuándo una respuesta almacenada en caché pierde su frescura. Las cachés comparan esa marca de tiempo con la hora actual para decidir si la copia almacenada sigue siendo utilizable.

La directiva max-age de Cache-Control prevalece sobre Expires cuando ambas están presentes. Como max-age usa un valor relativo en segundos en lugar de una fecha absoluta, la directiva evita los problemas de desfase de reloj entre los servidores y las cachés. Las políticas de caché modernas se apoyan en Cache-Control como mecanismo principal de frescura, mientras que Expires sirve de alternativa de respaldo para las cachés antiguas que no admiten max-age.

Un valor de 0 o una fecha no válida indica que la respuesta ya está obsoleta. Las cachés consideran la entrada caducada de inmediato, lo que fuerza una revalidación o una obtención nueva en la siguiente solicitud.

La marca de tiempo sigue el mismo formato IMF-fixdate que utiliza la cabecera Date:

Expires: <day-name>, <day> <month> <year>
  <hour>:<minute>:<second> GMT

Nota

Cuando Cache-Control: max-age está presente en la misma respuesta, el valor de Expires se ignora. Para las implementaciones nuevas conviene optar por max-age.

Ejemplo

Una respuesta que caduca un miércoles a las 08:00 UTC. Cualquier caché que conserve esta respuesta después de la hora indicada considera obsoleta la copia.

Expires: Wed, 04 Jun 2025 08:00:00 GMT

Una respuesta marcada como ya caducada. Definir el valor como 0 obliga a las cachés a revalidar en cada solicitud.

Expires: 0

Una cabecera Expires combinada con Cache-Control por compatibilidad con versiones anteriores. La directiva max-age tiene prioridad y otorga a la respuesta un tiempo de vida de frescura de una hora, al margen de la marca de tiempo de Expires.

Cache-Control: max-age=3600
Expires: Thu, 01 Jan 1970 00:00:00 GMT