O que é HTTP/3?
HTTP/3 é a terceira versão principal do HTTP que usa o QUIC como seu protocolo de transporte em vez do TCP, eliminando o bloqueio de linha, reduzindo a latência do estabelecimento de conexão e melhorando o desempenho em redes não confiáveis.HTTP/3 vs HTTP/2
| Característica | HTTP/2 | HTTP/3 |
|---|---|---|
| Transportes | TCP | Quic (sobre UDP) |
| TLS | Camada separada | Construído em QUIC |
| Aperto de mão | TCP + TLS (2-3 RTT) | 0-1 RTT |
| Bloqueio de cabeça de linha | A nível TCP | Eliminado |
| Migração da conexão | Não suportado | Suportado |
| Impacto da perda do pacote | Bloqueia todos os fluxos | Apenas por fluxo |
Como funciona o HTTP/3
HTTP/2 over TCP:
Client Server
│─────────── SYN ────────────►│
│◄────────── SYN-ACK ─────────│
│─────────── ACK ────────────►│ TCP Handshake
│─────────── ClientHello ────►│
│◄────────── ServerHello ─────│ TLS Handshake
│─────────── Finished ───────►│
│◄────────── Finished ────────│
│─────────── HTTP Request ───►│ (3 RTT minimum)
HTTP/3 over QUIC:
Client Server
│─────── Initial + ClientHello ─►│
│◄────── Initial + ServerHello ──│
│─────── HTTP Request ──────────►│ (1 RTT)
With 0-RTT Resumption:
│─────── 0-RTT + HTTP Request ──►│ (0 RTT!)
Características do protocolo QUIC
| Característica | Benefício |
|---|---|
| Baseado em UDP | Evita bloqueio de cabeça de linha TCP |
| TLS integrado 1.3 | Sempre criptografado, aperto de mão mais rápido |
| IDs de conexão | Sobrevive às alterações de endereço IP |
| Multiplexação de fluxo | Entrega independente do fluxo |
| Correcção de erro da frente | Reduz as necessidades de retransmissão |
Migração de Ligação
Mobile Network Switch (HTTP/2):
WiFi ──► Connection drops ──► New TCP connection ──► Start over
Mobile Network Switch (HTTP/3):
WiFi ──► Switch to cellular ──► Same QUIC connection continues
(Connection ID persists across IP changes)
Estado de adopção
| Plataforma | Suporte ao HTTP/3 |
|---|---|
| Chrome | 87+ (2020) |
| Firefox | 88+ (2021) |
| Safari | 14+ (2020) |
| Borda | 87+ (2020) |
| Cloudflare | Suporte completo |
| AWS CloudFront | Suporte completo |
| nginx | 1.25.0+ (experimental) |
Melhorias de desempenho
- Redes de alta latência: Até 50% de cargas de página mais rápidas
- Conexões perdidas: Perda de pacote único não para todos os fluxos
- Redes móveis: A conexão sobrevive aos switches Wi-Fi/celulares
- Conexões iniciais: configuração 1-RTT vs 3-RTT
Melhores Práticas
1. Implantar ao lado de HTTP/2: Navegadores recuam graciosamente
2. Use o cabeçalho Alt-Svc: Anunciar disponibilidade HTTP/3
3. Configurar corretamente o UDP: Garantir que os firewalls permitam o tráfego do QUIC
4. Desempenho do monitor: Comparar métricas entre as versões do protocolo
5. Teste cenários móveis: HTTP/3 se destaca em redes celulares
Exemplo de Configuração do Servidor
# Alt-Svc header to advertise HTTP/3
Alt-Svc: h3=":443"; ma=86400
HTTP/3 representa o futuro do transporte web, oferecendo conexões mais rápidas e confiáveis, especialmente para usuários móveis e de alta latência.