Que motivos existem para reduzir a idade máxima de um logotipo para apenas 8 dias?

8

A maioria dos sites é definida max-age=31536000(1 ano) nos Cache-controlcabeçalhos de ativos estáticos, como imagens de logotipo. Exemplos:

Mas há uma exceção notável: o logotipo do Google possui max-age=691200(8 dias).

Eu verifiquei os cabeçalhos no logotipo do Google no passado e, definitivamente, costumava ser de 1 ano. (Além disso, costumava fazer parte de um sprite e agora é uma imagem de logotipo independente, mas essa provavelmente é outra pergunta ...)

Quais poderiam ser razões técnicas válidas para que eles desejassem reduzir a vida útil do cache para apenas 8 dias? A página inicial do Google é uma das páginas mais cuidadosamente otimizadas do mundo, então imagino que haja um bom motivo.


Editar:

Certifique-se de entender esses pontos antes de responder:

  • Ninguém usa max-agevida útil curta para permitir a modificação de um ativo estático no futuro. Quando você o modifica, apenas o serve em um URL diferente. Então não, não tem nada a ver com os doodles do Google. Pense nisso: mesmo que o Google não entendesse esse truque básico do HTTP, oito dias ainda não seriam adequados, pois apenas os usuários que não têm o logotipo original em cache verão o doodle no dia do doodle - e então esse grupo de usuários continuaria vendo o doodle pelos 8 dias seguintes após o Google alterá-lo novamente :)

  • Os servidores Web não se preocupam em "'encher' os caches dos clientes (ou proxies). O cliente gerencia isso sozinho - quando atinge seu próprio limite de armazenamento, apenas começa a eliminar os itens de menor prioridade para liberar espaço para novos itens. A pontuação de prioridade é baseada na pergunta "Qual a probabilidade de me beneficiar de ter armazenado em cache este URL?", O que não tem nada a ver com o max-agevalor que o servidor enviou quando o URL foi originalmente solicitado; é uma heurística baseada na ' frecência ' solicitações para esse URL.max-agesimplesmente permite que o servidor defina um ponto de corte - o horário em que o cliente deve descartar o item, independentemente da frequência com que ele está sendo reutilizado. Seria muito agradável e confiável para um cliente / proxy a jusante confiar nos servidores de origem 'impedindo' de preencher seus caches, mas não acho que vivamos nesse mundo;)

callum
fonte
4
A única maneira de obter uma resposta que não comece com "Provavelmente porque" é se você perguntar ao Google. Tudo o resto será apenas especulação.
26512 Walter Walter
5
Sua edição não altera o fato de que apenas o Google pode fornecer uma resposta precisa.
28512 Walter Walter
3
Concordo que pode haver razões técnicas válidas para fazer isso, e o limite de oito dias do Googles é um bom exemplo. (embora eu não estou 100% de certeza se questão pertence aqui ou no StackOverflow)
Thorsten Müller
3
@ Walter: Eu discordo. "Alguém pode pensar em uma razão pela qual eles gostariam de reduzir a vida útil do cache para apenas 8 dias?" - Estou perguntando por qualquer motivo razoável pelo qual uma empresa experiente na Web possa querer fazer isso. (Claro, eu não estaria fazendo a pergunta se era apenas um site qualquer, mas o Google está fazendo isso, o que me faz pensar se não poderia uma importante lacuna no meu conhecimento.)
callum
4
Eu acho que essa pergunta foi levada para a zona não construtiva.
Ryathal

Respostas:

5

Definir max-agepara 8 dias em vez de 1 ano oferece ao Google um melhor controle sobre o modo como se apresenta ao mundo. Você está certo de que eles podem simplesmente usar um URL diferente para alterações temporárias, como o doodle do Google, mas se acharem que desejam alterar a aparência do logotipo corporativo real, faz sentido usar um tempo de expiração menor por dois motivos:

  1. As referências ao logotipo em qualquer uma das páginas existentes serão alteradas automaticamente - não é necessário modificá-las para usar um URL diferente.

  2. As inúmeras páginas da web de terceiros que carregam o logotipo do Google exibem a nova versão automaticamente após oito dias ou menos.

Além disso, tempos de validade mais longos fornecem retornos decrescentes. Sem cache, um usuário típico pode carregar o logotipo do Google mil ou mais vezes por ano. Uma expiração de 8 dias reduz para 46 vezes por ano. Uma expiração de 1 ano reduz ainda mais esse potencial a menos de 1 vez por ano. Parece que o maior benefício, de longe, se deve ao fato de a imagem ser armazenada em cache - o cache por apenas 1 dia oferece um benefício enorme, e o cache por 8 dias estende um pouco isso.

Logotipo do Google

A imagem acima tem apenas 7007 bytes de tamanho. Carregar isso a cada 8 dias significa que você carregará 312 kilobytes do logotipo deles ao longo de um ano. Isso realmente não é muito como uma porcentagem de todos os dados que você carrega do Google, e o pessoal do Google aparentemente decidiu que a flexibilidade que eles ganham com a expiração de oito dias é mais importante do que reduzir ainda mais esse número. Se eles pensassem o contrário, você pode apostar que eles usariam um tempo de expiração mais longo.

Eu não trabalho no Google e, mesmo que o fizesse, provavelmente não estaria em posição de saber o seu raciocínio com certeza, portanto, o exposto acima é um pouco especulativo. A resposta real poderia ser algo tão simples quanto: parecia uma boa ideia na época . No entanto, obviamente existe uma troca entre minimizar o tráfego e o controle criativo, e acho que podemos perceber desde o tempo de vencimento que o Google usa onde eles querem traçar essa linha.

Além disso, acho que vale a pena notar que o Google não é apenas um logotipo: é o principal recurso em sua página da web mais importante, e sua apresentação é algo com o qual é conhecido por ter muito cuidado. Os outros sites que você menciona (BBC, YouTube, Twitter e Yahoo) incluem o logotipo na página principal, mas em cada caso o logotipo é menor e um elemento muito menos importante da página do que o Google. O Google também fez várias alterações em seu logotipo ao longo dos anos (não, não estou falando de rabiscos), e não há razão para pensar que eles não farão isso de novo.

Caleb
fonte
1

Provavelmente porque eles mudam o logotipo frequentemente, quando celebram uma personalidade ou um evento.

m3th0dman
fonte
8
Não pode ser esse o motivo, pois cada um dos logotipos que eles usam possui uma URL distinta, portanto, reduzir a duração do cache não traria nenhum benefício.
26412 Dan D.
3
Obrigado, mas consulte minha edição para saber por que esta resposta está incorreta.
Callum
-4

Provavelmente porque eles mudam seu logotipo com frequência: os servidores de cache estariam cheios de logotipos do Google que não são usados. Essa configuração faz com que os caches removam o logotipo do armazenamento mais cedo.

Pieter B
fonte
2
Obrigado, mas isso está errado; veja o segundo marcador na minha edição.
Callum
1
Não vejo por que isso não pode ser visto como uma informação de cortesia. Seu ponto principal parece estar generalizando demais e descartando essa possibilidade.
Lars Viklund
1
Porque é enganoso. Caches da web ativos estão sempre cheios de capacidade e constantemente agitados; portanto, a idéia de que um desenvolvedor da web precise se preocupar em "encher" os caches dos clientes é simplesmente errada.
Callum