Teste HTTP/2 & HTTP/3
Verifique suporte a HTTP/1.1, HTTP/2 e HTTP/3 (QUIC), compare latências e receba recomendações de configuração — grátis.
Versões do protocolo HTTP: o que mudou e por que importa
O protocolo HTTP evoluiu significativamente para lidar com as demandas das aplicações web modernas. Cada versão aborda gargalos de performance específicos de sua antecessora.
A evolução em resumo:
- HTTP/1.1 (1997): Conexões persistentes e pipelining, mas head-of-line blocking limita o paralelismo. Navegadores contornam isso abrindo 6 conexões TCP por host.
- HTTP/2 (2015): Multiplexação em uma única conexão, framing binário, compressão de headers HPACK e server push. Elimina a necessidade de domain sharding e concatenação de CSS/JS.
- HTTP/3 (2022): Substitui TCP pelo QUIC/UDP. Streams independentes eliminam head-of-line blocking no transporte. Handshakes mais rápidos (0-RTT). Crítico para mobile e redes de alta latência.
Como interpretar o relatório de protocolos
O teste sonda o endpoint via TLS ALPN pedindo http/1.1, h2 e h3. A versão anunciada como preferida será negociada — um verde em "HTTP/2 suportado" mais um verde em "HTTP/3 suportado" significa que navegadores modernos usarão QUIC quando disponível e cairão para HTTP/2 quando não.
- Apenas HTTP/1.1: seu edge/origem não habilitou ALPN h2 — aceitável, mas deixa performance em cima da mesa.
- HTTP/2 sim, HTTP/3 não: comum; HTTP/3 exige UDP 443 e um header
Alt-Svcanunciando a disponibilidade. - Alt-Svc anunciado mas h3 inalcançável: UDP provavelmente está bloqueado entre cliente e edge.
Problemas comuns e soluções
- CDN diz H2 mas a origem é H1.1: ok para navegadores (CDN termina), mas pode gerar problemas de
proxy_http_version 1.1ao proxyar H2 direto para uma origem que só fala H1.1. - HTTP/3 bloqueado por firewall corporativo: UDP 443 costuma ser filtrado; o navegador cai silenciosamente para H2 — comportamento esperado.
- ALPN negocia HTTP/1.1 sem motivo: revise a config TLS — builds antigos de OpenSSL e certos load balancers desabilitam h2 por padrão.
- HTTP/2 com TLS 1.2: funciona, mas HTTP/3 exige TLS 1.3; atualize antes de habilitar QUIC.
- Tentativa de "h2c" em texto puro: navegadores nunca usam h2c; não dependa de HTTP/2 cleartext para tráfego público.
Próximos passos
Se só HTTP/1.1 aparece, habilite HTTP/2 primeiro no edge ou reverse proxy — o ganho é imediato. Depois adicione QUIC/HTTP/3 com um header Alt-Svc assim que TLS 1.3 estiver em vigor.
Para monitoramento contínuo, o FlashMon.app acompanha mudanças automaticamente e avisa no momento em que algo falha.
Monitore disponibilidade de protocolos
Receba alertas se HTTP/2 ou HTTP/3 quebrar após uma atualização de servidor ou deploy.
Perguntas Frequentes
HTTP/2 é a segunda versão principal do protocolo HTTP, introduzida em 2015 (RFC 7540). Ele melhora o HTTP/1.1 com multiplexação (múltiplas requisições em uma única conexão TCP), compressão de headers (HPACK) e server push. Na prática, o HTTP/2 elimina o problema de "head-of-line blocking" do HTTP/1.1, onde uma resposta lenta atrasa todas as requisições subsequentes na mesma conexão. A maioria dos benchmarks mostra redução de 20–50% no tempo de carregamento comparado ao HTTP/1.1, especialmente em páginas com muitos assets.
HTTP/3 (RFC 9114) substitui o TCP pelo QUIC, um protocolo de transporte construído sobre UDP. A melhoria principal é eliminar o head-of-line blocking a nível de transporte: no HTTP/2, um único pacote TCP perdido bloqueia todos os streams multiplexados. Com QUIC, cada stream é independente, então um pacote perdido atrasa apenas aquele stream. HTTP/3 também tem configuração de conexão mais rápida (0-RTT ou 1-RTT vs. 3-way handshake TCP + TLS). Em redes móveis com alta perda de pacotes, o HTTP/3 pode ser significativamente mais rápido.
No Nginx 1.9.5+: adicione o parâmetro http2 na diretiva listen — listen 443 ssl http2;. No Apache 2.4.17+: carregue mod_http2 com LoadModule http2_module e configure H2 On no VirtualHost. Note que HTTP/2 requer HTTPS (TLS) em todas as implementações de navegadores. Em CDNs como Cloudflare ou AWS CloudFront, HTTP/2 é habilitado por padrão. Após habilitar, verifique com esta ferramenta ou em chrome://net-internals/#http2 no Chrome.
No Nginx 1.25+: adicione listen 443 quic reuseport; e http3 on; ao bloco server, e inclua o header Alt-Svc: add_header Alt-Svc 'h3=":443"; ma=86400';. No Apache: o mod_http3 experimental está disponível no 2.4.55+. O Cloudflare habilita HTTP/3 automaticamente — ative em Speed → Optimization → HTTP/3 (QUIC). Como o HTTP/3 usa UDP, certifique-se que seu firewall permite UDP na porta 443.
O header Alt-Svc (Alternative Services) em uma resposta HTTP/2 anuncia que o servidor também suporta HTTP/3 (QUIC) em uma porta específica. Quando um navegador vê Alt-Svc: h3=":443", tenta uma conexão QUIC na próxima visita. Este é o mecanismo padrão para upgrade de HTTP/2 para HTTP/3 — não é possível testar HTTP/3 diretamente sem suporte a QUIC no stack de rede, por isso nossa ferramenta usa detecção por Alt-Svc para determinar disponibilidade de HTTP/3.
Depende das condições de rede. Em conexões rápidas e confiáveis (data center ou WiFi de escritório típico), HTTP/2 e HTTP/3 têm performance similar. As vantagens do HTTP/3 são mais pronunciadas em redes móveis, links de satélite ou conexões com >1% de perda de pacotes, onde o head-of-line blocking do TCP causa travamentos significativos. Estudos da Cloudflare, Google e Facebook mostram que o HTTP/3 reduz o tempo de carregamento em 5–20% para usuários medianos e muito mais (30%+) para usuários em conexões ruins. O FlashMon monitora a disponibilidade de protocolos para garantir que sua configuração de HTTP/3 permaneça saudável após deploys.