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;)
Respuestas:
Establecer
max-age
8 días en lugar de 1 año le da a Google un mejor control sobre la forma en que se presenta al mundo. Tienes razón en que simplemente pueden usar una URL diferente para cambios temporales como el doodle de Google, pero si piensan que pueden querer cambiar la forma en que aparece su logotipo corporativo real, tiene sentido usar un tiempo de vencimiento más corto por dos razones:Cualquier referencia a su logotipo en cualquiera de sus páginas existentes cambiará automáticamente, sin necesidad de modificarlas para usar una URL diferente.
Las innumerables páginas web de terceros que cargan el logotipo de Google mostrarán la nueva versión automáticamente después de 8 días o menos.
Además, los tiempos de vencimiento más largos proporcionan rendimientos decrecientes. Sin almacenamiento en caché, un usuario típico puede cargar el logotipo de Google mil o más veces al año. Un vencimiento de 8 días lo reduce a 46 veces al año. Un vencimiento de 1 año reduce aún más eso a tan solo 1 vez cada año. Parece que el mayor beneficio, con mucho, se debe al hecho de que la imagen se almacena en caché en absoluto: el almacenamiento en caché por solo 1 día proporciona un gran beneficio, y el almacenamiento en caché durante 8 días se extiende un poco.
La imagen de arriba tiene solo 7007 bytes de tamaño. Cargar eso cada 8 días significa que está cargando 312 kilobytes de su logotipo en el transcurso de un año. Eso realmente no es mucho como porcentaje de todos los datos que carga de Google, y las buenas personas de Google aparentemente han tomado la decisión de que la flexibilidad que obtienen de la expiración de 8 días es más importante que reducir ese número aún más. Si pensaran lo contrario, puede apostar que usarían un tiempo de vencimiento más largo.
No trabajo en Google, e incluso si lo hiciera, probablemente no estaría en condiciones de conocer su razonamiento con certeza, por lo que lo anterior es algo especulativo. La respuesta real podría ser algo tan simple como: parecía una buena idea en ese momento . Sin embargo, obviamente hay una compensación entre minimizar el tráfico y el control creativo, y creo que podemos deducir, a partir del tiempo de vencimiento, que Google usa dónde querían trazar esa línea.
Además, creo que vale la pena señalar que Google no es cualquier logotipo: es la característica principal en su página web más importante, y su presentación es algo de lo que se sabe que tienen mucho cuidado. Los otros sitios que menciona (BBC, YouTube, Twitter y Yahoo) incluyen su logotipo en su página principal, pero en cada caso el logotipo es más pequeño y un elemento de la página mucho menos importante que el de Google. Google también ha realizado una serie de cambios en su logotipo a lo largo de los años (no, no estoy hablando de garabatos), y no hay razón para pensar que no lo volverán a hacer.
fuente
Probablemente porque cambian el logotipo a menudo, cuando celebran una personalidad o un evento.
fuente
Probablemente porque cambian su logotipo a menudo: los servidores de almacenamiento en caché estarían llenos de logotipos de Google que no se usan. Esta configuración hace que las cachés eliminen el logotipo de su almacenamiento antes.
fuente