Remoção do push de servidor HTTP/2 do Chrome

Seguindo o anúncio anterior, o suporte a push do servidor HTTP/2 será desativado por padrão no Chrome 106 e em outros navegadores baseados no Chromium nas próximas versões.

Por que ele está sendo removido?

O envio por push do servidor HTTP/2 aos sites permitiu que os sites enviassem proativamente os recursos necessários para a página em vez de esperar que eles fossem solicitados. No entanto, ela era problemática, como Jake Archibald escreveu anteriormente, e os benefícios de desempenho geralmente eram difíceis de notar. Consequentemente, ele não foi muito usado, somente 1,25% dos sites HTTP/2 utilizaram esse recurso.

A análise do uso do envio push do servidor HTTP/2 apresenta resultados mistos (Chrome, Akamai), sem um claro ganho de desempenho líquido e, em muitos casos, regressões de desempenho.

O envio por push não foi implementado em muitos servidores e clientes HTTP/3, embora tenha sido incluído na especificação. Para grande parte da Web que usa o HTTP/3 mais recente, o Push já foi desativado. Ao executar essa análise mais recentemente, vemos que o suporte a HTTP/2 por sites caiu para 0,7%.

Alternativas ao envio por push do servidor HTTP/2

103 Dicas iniciais é uma alternativa muito menos propensa a erros, com muitas vantagens iguais às de Push e muito menos desvantagens. Em vez de o servidor enviar recursos, o 103 Early Hints envia apenas dicas para o navegador de recursos dos quais ele pode se beneficiar da solicitação imediata. Isso deixa o navegador no controle de decidir se precisa deles ou não — por exemplo, se ele já tiver esses recursos no cache HTTP.

O pré-carregamento de recursos críticos é outra alternativa que permite que a página e o navegador trabalhem juntos para carregar recursos críticos preventivamente no início do carregamento de página. Embora isso exija que a própria página seja enviada primeiro, ou seja, não é tão rápido quanto o push do servidor ou as dicas iniciais, ele tem a vantagem adicional de não atrasar esse recurso crítico da página, o que pode acontecer com essas duas soluções.

Conclusão

A Web precisa ter a capacidade de testar coisas e descartá-las quando não forem usadas. Embora o potencial do Push parecia ótimo, na realidade usá-lo era mais problemático do que o previsto. No entanto, aprendemos muito com Push que foi incluído no design do 103 Early Hints. Agora é hora de concluir a progressão e sair de Push.

Agradecimentos

Imagem principal por Scott Rodgerson no Unsplash