La mayoría de los sitios web se establecen max-age=31536000
(1 año) en los Cache-control
encabezados de los activos estáticos, como las imágenes del logotipo. Ejemplos:
Pero hay una notable excepción: el logotipo de Google tiene max-age=691200
(8 días).
Revisé los encabezados en el logotipo de Google en el pasado, y definitivamente solía ser 1 año. (Además, solía ser parte de un sprite, y ahora es una imagen de logotipo independiente, pero esa es probablemente otra pregunta ...)
¿Cuáles podrían ser razones técnicas válidas por las que desearían reducir su vida útil de caché a solo 8 días? La página de inicio de Google es una de las páginas más cuidadosamente optimizadas del mundo, así que imagino que hay una buena razón.
Editar:
Asegúrese de comprender estos puntos antes de responder:
Nadie usa
max-age
vidas cortas para permitir modificar un activo estático en el futuro. Cuando lo modifica, solo lo sirve en una URL diferente. Entonces no, no tiene nada que ver con los doodles de Google. Piénselo: incluso si Google no entendiera este truco básico de HTTP, 8 días aún no serían apropiados, ya que solo aquellos usuarios que no tienen el logotipo original en caché verían el doodle el día del doodle, y luego ese grupo de usuarios continuaría viendo el doodle durante los siguientes 8 días después de que Google lo volviera a cambiar :)Los servidores web no se preocupan por "'llenar' los cachés de clientes (o servidores proxy). El cliente lo gestiona por sí mismo: cuando alcanza su propio límite de almacenamiento, simplemente comienza a soltar los elementos de menor prioridad para hacer espacio para nuevos elementos. El puntaje de prioridad se basa en la pregunta "¿Qué posibilidades hay de que me beneficie de haber almacenado en caché esta URL?", Que no tiene nada que ver con el
max-age
valor que envió el servidor cuando se solicitó originalmente la URL; es una heurística basada en la ' frecuencia ' de solicitudes para esa URL.max-age
simplemente permite que el servidor establezca un punto de corte: el momento en el que se supone que el cliente descarta el elemento, independientemente de la frecuencia con la que se reutilice. Sería muy agradable y confiar en que un cliente / proxy intermedio dependa de que los servidores de origen 'retengan' llenar sus cachés, pero no creo que vivamos en ese mundo;)