incomplete htaccess headers expires example control cache cabeceras and age http-headers cache-control

http-headers - headers - incomplete or no cache control and pragma http header set htaccess



¿Cuál es la diferencia entre los encabezados Expires y Cache-Control? (6)

¿Cuál es la diferencia entre los encabezados Expires y Cache-Control ?


Cache-Control se definió en HTTP / 1.1, le dice a todos los mecanismos de caché desde el servidor al cliente si pueden almacenar en caché este objeto. Se mide en segundos: Cache-Control: max-age=3600 .

El campo del encabezado Expires proporciona la fecha / hora después de la cual la respuesta se considera obsoleta. El valor Expira es una fecha y hora HTTP-fecha: Expires: Tue, 18 Jul 2017 16:07:23 GMT .

Si una respuesta incluye un campo de Cache-Control con la directiva de max-age , un destinatario DEBE ignorar el campo Expires .


De acuerdo con este artículo de Google Developers, HTTP Caching :

El encabezado Cache-Control se definió como parte de la especificación HTTP / 1.1 y reemplaza los encabezados anteriores (p. Ej. Expira) utilizados para definir las políticas de caché de respuesta. Todos los navegadores modernos admiten Cache-Control, por lo tanto, eso es todo lo que necesitaremos.


Heroku devcenter tiene un excelente artículo sobre este tema.

Citando de eso,

Mientras que el encabezado Cache-Control activa el caché del lado del cliente y establece el máximo de edad de un recurso, el encabezado Caduca se utiliza para especificar un punto específico en el tiempo en que el recurso ya no es válido.



Si está utilizando un CDN (Cloud Delivery Network), le recomiendo que use Cache-Control con un tiempo máximo en segundos. Por ejemplo, Cache-Control: max-age = 604800. Esto evita picos de solicitud a su servidor de origen: con "Vence el mié, 30 de octubre de 20xx 04:37:07 GMT", todos los navegadores lo solicitarán al mismo tiempo.


Cache-Control se introdujo en HTTP / 1.1 y ofrece más opciones que Expires . Se pueden usar para lograr lo mismo pero el valor de datos para Expires es una fecha HTTP, mientras que Cache-Control max-age le permite especificar una cantidad relativa de tiempo 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 almacenamiento en caché que debe responder la mayoría de sus preguntas (por ejemplo, http://www.mnot.net/cache_docs/#EXPIRES ). Sin embargo, para resumir, se recomienda Caducar recursos estáticos como imágenes y Cache-Control cuando se necesita más control sobre cómo se realiza el almacenamiento en caché.