Vários sites colegas e outros portais especializados explicaram os detalhes técnicos por trás do HTTP/3, nova versão do protocolo HTTP que inclui múltiplas melhorias, começando com uma capacidade de recuperação mais robusta diante da perda de pacotes. Nestes dias, o HTTP/3 é apenas um rascunho em avaliação, mas o Chrome e o Firefox já contam com suporte oficial, desabilitado de fábrica. Hoje vamos ensinar como ativá-lo em ambos os navegadores.
A versão 2 do HTTP nos serviu muito bem desde seu debut, mas não podemos negar que a rede mudou muito nestes últimos cinco anos. As conexões constantes e o streaming continuam se multiplicando, e embora tudo pareça funcionar bem na superfície, existem alguns pontos de conflito no protocolo atual.
Um deles é a dependência do TCP. Isso não tem nada de errado em si, mas os mecanismos de recuperação do TCP estão cegos diante da multiplexação do HTTP/2, causando atrasos e pausas desnecessárias se pacotes forem perdidos. É aí que entra o HTTP/3, que funciona com a ajuda do protocolo QUIC desenvolvido inicialmente por Jim Roskind no Google. Em termos informais, o TCP é «aposentado» no HTTP/3, deixando a multiplexação, a negociação e a recuperação sob a asa do QUIC, e o UDP assume o papel de camada de transporte.
Então, se colocarmos esses benefícios na mesa, como ativamos? O único aviso é que o HTTP/3 está em fase de rascunho, portanto, é interpretado como uma função experimental. Isso significa que não há muitos sites com capacidade de usar corretamente o HTTP/3, e existe a possibilidade (embora remota) de que alguns sites parem de carregar ou apresentem erros com o HTTP/3 ativado. Dito isso, vamos começar.
HTTP/3 no Firefox
A última versão estável 78.0.1 suporta HTTP/3 de fábrica, mas precisamos fazer uma visita ao about:config e alterar o valor network.http.http3.enabled de false para true. Reinicie o navegador, e isso é tudo.
HTTP/3 no Chrome
Presume-se que o HTTP/3 e o QUIC devam ser usados com os builds Canary do Chrome, mas hoje podemos fazer o teste na versão estável. Primeiro, acesse chrome://flags, digite QUIC na caixa de busca e altere a opção «Experimental QUIC protocol» de Default para Enabled. O Chrome pedirá para reiniciar o navegador, porém isso não é suficiente.
Para habilitar essa tecnologia por completo, o segundo passo é adicionar dois modificadores ao atalho do Chrome: --enable-quic --quic-version=h3-46. É provável que a versão do QUIC no modificador mude com o tempo, mas 46 parece funcionar bastante bem.
Como verificamos se o HTTP/3 e o QUIC estão funcionando? Há dois sites para isso: a página oficial da LiteSpeed e o quic.rocks. A confirmação requer pressionar F12 para abrir as opções de desenvolvimento, ir à aba Rede ou Network, recarregar a página e habilitar a coluna Protocolo. O Firefox apresenta como HTTP/3, enquanto no Chrome deve dizer HTTP/2+QUIC/46.
Se algo der errado, basta desfazer os passos mencionados. Faça o teste!