Encabezados HTTP | control de caché

El encabezado Cache-Control es un encabezado general que especifica las políticas de almacenamiento en caché de las respuestas del servidor, así como las requests de los clientes. Básicamente, brinda información sobre la forma en que se almacena en caché un recurso en particular, la ubicación del recurso almacenado en caché y su edad máxima alcanzada antes de que caduque, es decir, el tiempo de vida.

Sintaxis:

Cache-Control: <directive> [, <directive>]*

Directivas: este encabezado acepta 15 directivas, todas las descritas a continuación:

  • Público: esta directiva indica que la respuesta puede ser almacenada por cualquier caché sin ninguna restricción. En caso de que la respuesta no se pueda almacenar en caché, aún se puede almacenar en caché.
  • Privado: indica que solo la caché del navegador es elegible para almacenar la respuesta.
  • no-cache: Indica que la respuesta puede ser almacenada por cualquier caché sin ninguna restricción aunque no sea cacheable. La condición que debe cumplirse aquí es que la respuesta almacenada debe ser validada por el servidor de origen antes de ser utilizada.
  • no-store: Indica que la respuesta no puede ser almacenada por ninguna caché.
  • max-age=<segundos>: Indica la cantidad máxima de tiempo que un recurso permanece fresco y se puede solicitar su acceso.
  • s-maxage=<segundos>: esta directiva se usa principalmente para el caché compartido por redes de entrega de contenido (CDN). Anula la directiva max-age y caduca el encabezado cuando está presente.
  • max-stale[=<segundos>]: Indica que el cliente solo acepta una respuesta obsoleta. El tiempo opcional en segundos indica el límite máximo de caducidad que será aceptado por el cliente.
  • min-fresh=<segundos>: indica que el cliente solo acepta la respuesta que es nueva durante el tiempo especificado en segundos.
  • stale-while-revalidate=<segundos>: indica que el cliente aceptará la respuesta obsoleta junto con la búsqueda asincrónica de respuestas nuevas. El tiempo en segundos representa la duración durante la cual el cliente aceptará una respuesta obsoleta
  • stale-if-error=<segundos>: indica que el cliente aceptará la respuesta obsoleta si falla la verificación de una nueva. El tiempo en segundos representa la duración durante la cual el cliente aceptará una respuesta obsoleta después del vencimiento inicial.
  • must-revalidate: indica que los cachés no pueden usar sus recursos obsoletos después de que se hayan vuelto obsoletos sin que el servidor de origen los valide.
  • proxy-revalidate: esta directiva es similar a must-revalidate. Sin embargo, solo funciona para cachés compartidos y los cachés privados lo ignoran.
  • Inmutable: indica que el cuerpo de la respuesta permanece sin cambios durante el período de tiempo.
  • no-transform: Indica que los recursos no pueden ser transformados o modificados a otra forma.
  • only-if-cached: Indica que la red no puede ser utilizada para la respuesta por parte del cliente. Significa que el caché puede usar una respuesta almacenada o un código de estado 504.

Ejemplos:

  • Para prevenir el caché, se puede usar el siguiente encabezado de respuesta:
    Cache-Control: no-store
  • Con el fin de almacenar en caché los activos estáticos, se puede utilizar el siguiente encabezado de respuesta:
    Cache-Control: public, max-age=604800, immutable
  • Para Requerir revalidación, se puede utilizar lo siguiente:
    Cache-Control: no-cache
    Cache-Control: no-cache, max-age=0
    Cache-Control: no-cache, max-age=0, stale-while-revalidate=300

Navegadores compatibles: los navegadores compatibles con el encabezado HTTP Cache-Control se enumeran a continuación:

  • Google Chrome
  • Borde
  • Firefox
  • explorador de Internet
  • Ópera
  • Safari

Publicación traducida automáticamente

Artículo escrito por manandeep1610 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *