¿Cuál es la diferencia entre Expires
y Cache-Control
encabezados?
fuente
¿Cuál es la diferencia entre Expires
y Cache-Control
encabezados?
Cache-Control
fue introducido en HTTP / 1.1 y ofrece más opciones que Expires
. Se pueden usar para lograr lo mismo, pero el valor de los datos Expires
es una fecha HTTP, mientras que Cache-Control
max-age le permite especificar una cantidad de tiempo relativa para que pueda especificar "X horas después de que se solicitó la página".
El control de caché HTML es una pregunta muy similar y tiene un buen enlace a un tutorial de caché que debería responder la mayoría de sus preguntas (por ejemplo, http://www.mnot.net/cache_docs/#EXPIRES ). En resumen, sin embargo, Expires
se recomienda para recursos estáticos como imágenes y Cache-Control
cuando necesita más control sobre cómo se realiza el almacenamiento en caché.
Si está utilizando una red CDN (Cloud Delivery Network), le recomiendo usar Cache-Control con un tiempo máximo en segundos. Por ejemplo, Cache-Control: max-age = 604800. Esto evita los picos de solicitud a su servidor de origen: con "Vence el Mié, 30 Oct 20xx 04:37:07 GMT" todos los navegadores lo solicitarán al mismo tiempo.
fuente
cache-control
. Así que no veo por qué habría picos de solicitudes cuando se usaExpires:
De acuerdo con este artículo de Google Developers, HTTP Caching :
fuente
Cache-Control se definió en HTTP / 1.1, indica a todos los mecanismos de almacenamiento en caché del servidor al cliente si pueden almacenar en caché este objeto. Se mide en segundos:
Cache-Control: max-age=3600
.El
Expires
campo de encabezado proporciona la fecha / hora después de la cual la respuesta se considera obsoleta. Expira el valor es una marca de tiempo en HTTP fecha:Expires: Tue, 18 Jul 2017 16:07:23 GMT
.Si una respuesta incluye un
Cache-Control
campo con lamax-age
directiva, un destinatario DEBE ignorar elExpires
campo.fuente
Heroku devcenter tiene un excelente artículo sobre este tema.
Citando de eso,
fuente
Excepto por las opciones privadas / públicas de CC, no veo ninguna diferencia. Cuando se utiliza Expira como "acceso más 1 año / mes / semana / día", funciona exactamente de la misma manera que CC.
fuente
Si todavía está interesado, les dejo esta recomendación directamente de los chicos de google. https://developers.google.com/speed/docs/insights/LeverageBrowserCaching Prefieren caduca antes que Cache-Control
fuente