¿Qué razones hay para reducir la edad máxima de un logotipo a solo 8 días?

8

La mayoría de los sitios web se establecen max-age=31536000(1 año) en los Cache-controlencabezados 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-agevidas 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-agevalor que envió el servidor cuando se solicitó originalmente la URL; es una heurística basada en la ' frecuencia ' de solicitudes para esa URL.max-agesimplemente 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;)

callum
fuente
44
La única forma de obtener una respuesta que no comience con "Probablemente porque" es si le preguntas a Google. Todo lo demás será solo especulación.
Walter
55
Su edición no cambia el hecho de que solo Google puede darle una respuesta precisa.
Walter
3
Estoy de acuerdo, puede haber razones técnicas válidas para hacer esto y el límite de 8 días de Google es un buen ejemplo. (aunque no estoy 100% seguro si la pregunta pertenece aquí o en StackOverflow)
thorsten müller
3
@Walter: No estoy de acuerdo. "¿Alguien puede pensar en una razón por la que desearían reducir su vida útil de caché a solo 8 días?" - Estoy preguntando por cualquier razón razonable por la que una empresa con experiencia en la web podría querer hacer esto. (Por supuesto, no estaría haciendo la pregunta si se tratara de cualquier sitio web, pero Google lo está haciendo, lo que me hace preguntarme si podría haber una brecha importante en mi conocimiento)
Callum
44
Creo que esta pregunta se ha desplazado a la zona no constructiva.
Ryathal el

Respuestas:

5

Establecer max-age8 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:

  1. Cualquier referencia a su logotipo en cualquiera de sus páginas existentes cambiará automáticamente, sin necesidad de modificarlas para usar una URL diferente.

  2. 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.

Logotipo de Google

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.

Caleb
fuente
1

Probablemente porque cambian el logotipo a menudo, cuando celebran una personalidad o un evento.

m3th0dman
fuente
8
Esa no puede ser la razón, ya que cada uno de los logotipos que usan tiene una URL distinta, por lo que reducir la duración del almacenamiento en caché no daría ningún beneficio.
Dan D.
3
Gracias, pero vea mi edición de por qué esta respuesta es incorrecta.
callum
-4

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.

Pieter B
fuente
2
Gracias, pero esto está mal; ver el segundo punto en mi edición.
callum
1
No veo por qué esto no puede verse como una información de cortesía. Su punto de viñeta parece estar demasiado generalizando y descartando esta posibilidad.
Lars Viklund
1
Porque es engañoso. Los cachés web activos siempre están llenos de capacidad y se agitan constantemente, por lo que la idea de que un desarrollador web deba preocuparse por "llenar" los cachés de los clientes es simplemente errónea.
callum