Proxies HTTP/2
O que são proxies HTTP/2
Proxies HTTP/2 são servidores proxy que suportam o protocolo HTTP/2 para troca de dados. O HTTP/2 é a evolução do protocolo HTTP/1.1, adotada em 2015, que melhora significativamente o desempenho das conexões web por meio de multiplexação, compressão de cabeçalhos e priorização de streams.
O suporte a HTTP/2 nos proxies vem se tornando crítico, já que mais de 60% de todos os sites usam esse protocolo.
Principais recursos do HTTP/2
Multiplexação
O HTTP/1.1 envia requisições em sequência — cada requisição espera a resposta da anterior. O HTTP/2 permite enviar muitas requisições simultaneamente por uma única conexão TCP.
Para os proxies, isso significa:
- Menos conexões TCP com os servidores de destino
- Carregamento mais rápido de páginas com muitos recursos
- Menor carga sobre o servidor proxy
Compressão de cabeçalhos (HPACK)
O HTTP/2 comprime os cabeçalhos HTTP com o algoritmo HPACK. Ao trabalhar através de um proxy, isso economiza até 30-50% do tráfego de cabeçalhos, especialmente em requisições repetidas ao mesmo servidor.
Formato binário
Diferente do HTTP/1.1, baseado em texto, o HTTP/2 usa um formato binário de frames. Isso dificulta a análise manual do tráfego, mas aumenta a eficiência do parsing e reduz erros.
Server Push
O servidor pode enviar recursos ao cliente de forma proativa, sem requisição. O proxy precisa tratar corretamente os push streams e armazená-los em cache, se necessário.
Priorização de streams
O HTTP/2 permite atribuir prioridades às requisições. O proxy pode usar isso para otimizar — por exemplo, priorizando HTML em relação às imagens.
Como o HTTP/2 funciona através de um proxy
Cenário 1: HTTP/2 ponta a ponta
Tanto o cliente quanto o servidor de destino suportam HTTP/2. O proxy atua como uma ponte transparente, encaminhando os frames HTTP/2 sem decodificá-los.
Prós: desempenho máximo, latência mínima.
Contras: o proxy não consegue modificar o conteúdo.
Cenário 2: HTTP/2 do cliente, HTTP/1.1 para o servidor
O cliente se conecta ao proxy via HTTP/2, e o proxy converte a requisição para HTTP/1.1 ao falar com o servidor de destino.
Prós: o cliente aproveita os benefícios do HTTP/2 (multiplexação).
Contras: não há multiplexação no trecho proxy-servidor.
Cenário 3: HTTP/1.1 do cliente, HTTP/2 para o servidor
O proxy aceita requisições HTTP/1.1 e as envia ao servidor via HTTP/2.
Prós: carregamento mais rápido graças à multiplexação até o servidor.
Contras: o cliente não recebe os benefícios da multiplexação.
HTTP/2 e sistemas anti-bot
Fingerprinting de HTTP/2
Os sistemas anti-bot modernos analisam os parâmetros da conexão HTTP/2 para identificar o cliente:
- SETTINGS frame — parâmetros iniciais da conexão
- WINDOW_UPDATE — tamanhos da janela de controle de fluxo
- Priority order — como o cliente prioriza os streams
- Pseudo-headers — ordem de :method, :path, :scheme, :authority
Cada navegador tem uma impressão digital HTTP/2 única. Se o proxy não imitar esses parâmetros, o sistema anti-bot conclui que a requisição não vem de um navegador real.
Como um proxy deve lidar com o fingerprinting de HTTP/2
- Transmitir o SETTINGS original do cliente sem modificação
- Preservar a ordem dos pseudo-headers
- Não alterar as prioridades dos streams
- Suportar as mesmas extensões que um navegador real
Proxies populares com suporte a HTTP/2
| Servidor proxy | HTTP/2 no frontend | HTTP/2 no backend | Observação |
|---|---|---|---|
| Envoy | Sim | Sim | Suporte completo |
| HAProxy | Sim (2.4+) | Sim (2.4+) | Suporte estável |
| Nginx | Sim | Sim (1.25.1+) | HTTP/2 no backend adicionado recentemente |
| Traefik | Sim | Sim | Detecção automática |
| Caddy | Sim | Sim | HTTP/2 ativado por padrão |
Vantagens dos proxies HTTP/2
- Até 50% mais rápido no carregamento de páginas com muitos recursos
- Economia de tráfego graças à compressão de cabeçalhos
- Menos conexões — uma conexão TCP em vez de 6-8
- Compatibilidade — todos os navegadores modernos suportam HTTP/2
- Melhor bypass de anti-bot com imitação correta da impressão digital
Limitações
- Complexidade de depuração — protocolo binário é mais difícil de analisar
- Head-of-line blocking no nível TCP ainda existe (resolvido no HTTP/3)
- Nem todos os servidores de destino suportam HTTP/2
- Maior consumo de memória no servidor proxy
Conclusão
Proxies HTTP/2 são uma necessidade para as tarefas atuais. O suporte a multiplexação, compressão de cabeçalhos e o tratamento correto das impressões digitais HTTP/2 são críticos para interagir com sucesso com sites protegidos e otimizar o desempenho.
