Para una respuesta de imagen que atraviesa una caché compartida visible por HTTP, publica una vida útil explícita y un validador. Cuando la imagen se puede reutilizar de forma segura entre usuarios, unas cabeceras de respuesta de ejemplo son:

Cache-Control: public, max-age=604800
ETag: "image-v4"

La vida útil se expresa en segundos; 604800 es una semana. Usa public solo para contenido destinado a reutilizarse entre usuarios.

Si el navegador y el proxy compartido necesitan vidas útiles distintas, s-maxage proporciona la vida útil de la caché compartida. Por ejemplo, max-age=3600 con s-maxage=604800 da a la caché compartida el periodo de frescura más largo.

Expires es una fecha, no una duración

Expires toma una marca de tiempo con formato de fecha HTTP. max-age anula ese campo, y s-maxage tiene prioridad para las cachés compartidas. Genera cualquier fecha Expires al producir la respuesta.

Una recarga puede solicitar validación

Una solicitud que contiene Cache-Control: no-cache exige una validación correcta en el origen antes de reutilizar una respuesta almacenada. Eso puede ocurrir incluso mientras la política de frescura ordinaria de la respuesta permitiría la reutilización en otros casos.

El validador permite a la caché comprobar eficazmente una imagen sin cambios. Una respuesta 304 puede confirmar la representación almacenada sin retransmitir los bytes de la imagen desde el origen. Por tanto, el tráfico hacia el origen no implica por sí mismo que el objeto en caché se haya descartado.

Compara la reutilización normal y las recargas explícitas al revisar la política.

Artículos relacionados