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