O que é HTTP/3 e como ele afeta o desenvolvimento de software

0

O protocolo experimental HTTP-QUIC criado pela Google e já presente no Google Chrome deve ser renomeado para HTTP/3, de acordo com a IETF.

Há uma grande lacuna no desenvolvimento do HTTP/1.1 (lançado em 1999) para o lançamento do HTTP/2 (lançado em 2015) que é o nosso padrão de desenvolvimento hoje em dia, trafegando dados de maneira binária, de forma mais compacta e leve. Mas novidades estão chegando com o lançamento do HTTP/3.

O HTTP/3 é uma evolução do protocolo QUIC do Google. Tá, mas o que é QUIC?

O QUIC (Quick UDP Internet Connections) é um novo transporte que reduz a latência em comparação com o TCP. De fato, o QUIC é muito semelhante ao TCP + TLS + HTTP/2 implementado no UDP. Como o TCP é implementado nos kernels do sistema operacional e no firmware da placas de redes, fazer mudanças significativas no TCP é quase impossível. No entanto, como o QUIC é construído sobre o UDP, ele não sofre dessas limitações.

Os principais recursos oferecidos no HTTP/3 utilizando QUIC:

  •     Tempo de estabelecimento de conexão drasticamente reduzido
  •     Melhor controle de congestionamento
  •     Multiplexação sem bloqueio de linha de cabeçote
  •     Correção de erro continua
  •     Migração de conexão

O Google diz que quase metade de todas as solicitações do Google Chrome para os servidores do Google é veiculada pelo QUIC e esses números continuam aumentando, tornando-se o transporte padrão dos clientes do Google, aplicativos do Google Chrome e dispositivos móveis, para os servidores do Google. O esboço do protocolo QUIC usa o recém-lançado protocolo TLS 1.3)

Então o que é HTTP/3 – Em Termos Leigos

HTTP/3 é a terceira versão do Hypertext Transfer Protocol (HTTP), anteriormente conhecido como HTTP-over-QUIC. QUIC (Quick UDP Internet Connections) foi inicialmente desenvolvido pelo Google e é o sucessor do HTTP/2. Empresas como Google e Facebook já estão usando QUIC para acelerar a rede.

O pessoal da Cisco criou um vídeo interessante explicando o handshake de três vias do TCP.

Embora o QUIC acabe com os recursos de confiabilidade do TCP, ele compensa com a camada UDP, oferecendo retransmissão de pacotes, pedidos e assim por diante. Google Cloud Platform introduziu suporte QUIC para seus balanceamentos de carga em 2018 e viu uma melhoria no tempo médio de carregamento de página em 8% globalmente e de até 13% em regiões onde a latência é maior.

Se abrirmos o Chrome Dev Tools e carregarmos alguns produtos do Google, como Gmail, veremos na coluna Protocolo da aba Rede que diversos recursos sendo carregados pela versão do Google do protocolo QUIC. Esse também é o caso com outros produtos, como Analytics, Google Tag Manager, etc.

Serviços do Google com QUIC

Cloudflare recentemente publicou uma extensa atualização sobre o progresso da padronização.

Embora UDP ofereça ao QUIC e HTTP/3 algumas vantagens inerentes, ele também traz alguns desafios. TCP tem sido o protocolo convencional por anos, enquanto o UDP não, assim os sistemas operacionais e pilhas de softwares para ele não são tão otimizados de forma geral. Consequentemente, há cargas/requisitos de CPU muito mais altos com QUIC que, de acordo com algumas estimativas, são o dobro do HTTP/2.

Finalizando

O padrão HTTP/3 está ainda ganhando espaço, sendo propulsionado pela Google e com o Google Chrome. Acredito que logo mais teremos Ngnix, Apache e IIS com recursos do QUIC e com isso a pulverização irá ser ainda mais rápida, se tornando de fato um novo padrão (ou pelo menos uma alternativa super válida) no desenvolvimento de software.

Por hoje é só! Um abraço

Fonte: https://medium.com/devgorilla/what-is-http-3-94335c57823f / https://kinsta.com/pt/blog

Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com