Proxies HTTP/3 (QUIC)
O que são HTTP/3 e QUIC
HTTP/3 é a terceira versão principal do protocolo HTTP, padronizada em 2022 (RFC 9114). A diferença fundamental em relação ao HTTP/2 é o uso do protocolo de transporte QUIC no lugar do TCP.
QUIC (Quick UDP Internet Connections) é um protocolo de transporte desenvolvido pelo Google, que opera sobre UDP. Ele combina as funções de TCP e TLS em uma única camada, o que acelera o estabelecimento da conexão e elimina o problema de head-of-line blocking.
Vantagens do HTTP/3 para proxies
1. Eliminação do head-of-line blocking
No HTTP/2, a perda de um único pacote TCP bloqueia todos os streams dentro de uma conexão. No HTTP/3, cada stream é independente — a perda de um pacote em um stream não afeta os demais.
Para proxies, isso significa: se uma requisição sofrer perda de pacotes, as outras requisições pelo mesmo proxy continuam funcionando sem atrasos.
2. Estabelecimento de conexão mais rápido (0-RTT)
O HTTP/3 consegue estabelecer conexão em 0 round-trips ao reconectar a um servidor já conhecido. Para proxies que acessam repetidamente os mesmos servidores, isso reduz sensivelmente a latência.
Comparação:
- TCP + TLS 1.3: 2-3 RTT para uma nova conexão
- QUIC: 1 RTT para uma nova conexão, 0 RTT para uma conexão retomada
3. Migração de conexão
O QUIC usa um Connection ID em vez de vincular a conexão a IP:porta. A conexão se mantém mesmo quando o endereço IP ou a interface de rede muda.
Para proxies móveis isso é revolucionário: a conexão não cai ao alternar entre Wi-Fi e 4G.
4. Criptografia embutida
O QUIC criptografa não apenas os dados, mas também a maior parte dos metadados do protocolo. Isso dificulta o DPI (Deep Packet Inspection) e a análise de tráfego por intermediários.
Como o HTTP/3 funciona através de proxies
Proxy QUIC direto
O proxy encaminha o tráfego QUIC (UDP) diretamente. Isso exige suporte a proxy de UDP, algo que a maioria dos proxies HTTP clássicos não oferece.
CONNECT-UDP (RFC 9298)
Um novo método para tunelar UDP através de proxies HTTP. Permite que conexões QUIC passem por proxies HTTP sem suporte nativo a QUIC.
Frontend HTTP/3, backend HTTP/2
O proxy aceita HTTP/3 dos clientes, mas se conecta aos servidores por HTTP/2 ou HTTP/1.1. Hoje esse é o cenário mais comum.
HTTP/3 completo
O proxy suporta HTTP/3 nas duas direções. Ainda é raro, mas está em desenvolvimento ativo.
Suporte atual a HTTP/3 em proxies
| Proxy | Frontend HTTP/3 | Backend HTTP/3 | Status |
|---|---|---|---|
| Caddy | Sim | Experimental | Suporte maduro |
| Nginx | Sim (1.25+) | Não | Apenas frontend |
| HAProxy | Em desenvolvimento | Em desenvolvimento | Planejado |
| Envoy | Sim | Sim | Desenvolvimento ativo |
| Traefik | Sim (3.0+) | Experimental | Suporte básico |
| Cloudflare | Sim | Sim | Suporte completo |
HTTP/3 e o contorno de bloqueios
Vantagens para o contorno
- Tráfego UDP — muitos sistemas de DPI são feitos para TCP; a filtragem de UDP é menos desenvolvida.
- Criptografia de metadados — dificulta determinar o conteúdo do tráfego.
- Disfarce de QUIC — muitos serviços legítimos (Google, YouTube) usam QUIC.
- Migração de conexão — a conexão se mantém quando o IP muda.
Limitações
- Bloqueio de UDP — algumas redes bloqueiam todo o tráfego UDP, exceto DNS.
- QUIC fingerprinting — o cliente pode ser identificado pelos parâmetros do QUIC.
- SNI — no handshake QUIC inicial, o SNI é transmitido em texto claro (o ECH resolve isso).
QUIC fingerprinting
Assim como no fingerprinting de HTTP/2, os sistemas anti-bot começam a analisar os parâmetros do QUIC:
- Transport Parameters — parâmetros iniciais da conexão
- Initial DCID Length — comprimento do Connection ID inicial
- Preferred Address — suporte a migração
- Token — comportamento em 0-RTT
O proxy precisa imitar corretamente o fingerprint QUIC do navegador-alvo.
Recomendações práticas
Para desenvolvedores de proxies
- Adicione suporte a UDP junto com TCP.
- Implemente CONNECT-UDP para compatibilidade com clientes HTTP/3.
- Use bibliotecas como quiche (Cloudflare), Quinn (Rust), ngtcp2 para implementar QUIC.
Para usuários de proxies
- Verifique se o seu provedor suporta HTTP/3.
- Para contornar DPI, proxies QUIC podem ser mais eficazes do que soluções baseadas em TCP.
- Leve em conta que nem todos os sites-alvo suportam HTTP/3.
O futuro dos proxies HTTP/3
O HTTP/3 está inevitavelmente se tornando o protocolo dominante. Mais de 30% do tráfego web já usa HTTP/3. As principais tendências são:
- Todos os grandes proxies vão adicionar suporte completo a HTTP/3 até 2025-2026.
- O MASQUE (RFC 9484) vai padronizar o proxying sobre HTTP/3.
- A migração de conexão tornará os proxies móveis mais estáveis.
- A criptografia de metadados (ECH + QUIC) aumentará a privacidade.
Conclusão
Os proxies HTTP/3 são o próximo passo evolutivo na tecnologia de proxies. O protocolo QUIC resolve problemas fundamentais do TCP (head-of-line blocking, handshake lento) e abre novas possibilidades para proxies móveis e para o contorno de bloqueios. A transição para o HTTP/3 já está em curso, e a indústria de proxies está se adaptando ativamente.
