Pular para o conteúdo principal

HTTP/2 e HTTP/3: Mais rápidos, mas vale a pena ativá-los? Prós, contras e configuração

· Leitura de 4 minutos
Customer Care Engineer

http2-vs-http3-speed-pros-cons-configuration

Os protocolos modernos HTTP/2 e HTTP/3 podem acelerar significativamente o carregamento do site, melhorar a experiência do usuário e aumentar as classificações nos motores de busca. Mas nem tudo é tão simples: eles têm vantagens e desvantagens. Vamos entender o que são esses protocolos, seus prós e contras, e como ativá-los em seu servidor.


O que são HTTP/2 e HTTP/3?

O HTTP/2 é uma versão atualizada do protocolo HTTP/1.1 que permite que vários recursos do site sejam carregados em paralelo em vez de um por um. Isso acelera os tempos de resposta e reduz a carga do servidor.

O HTTP/3 é uma versão ainda mais avançada que usa o protocolo QUIC sobre UDP. Ele cria conexões mais estáveis, especialmente em condições de rede ruins.


Vantagens

  1. HTTP/2
  • Carregamento paralelo (multiplexado) de recursos do site.
  • Latência reduzida através da compressão de cabeçalhos.
  • Economia de tráfego.
  1. HTTP/3
  • Estabelecimento rápido de conexão com atraso mínimo.
  • Resiliência à perda de pacotes (especialmente importante para internet móvel).
  • Excelente desempenho em redes instáveis.

Ao ativar esses protocolos, você acelerará seu site, o tornará mais amigável ao usuário e obterá uma vantagem de SEO.


Desvantagens

  1. Compatibilidade
  • HTTP/2 e HTTP/3 não são suportados por navegadores e dispositivos mais antigos. Por exemplo, certas versões do Internet Explorer e dispositivos Android mais antigos não podem aproveitar esses protocolos.
  • O HTTP/3 depende do UDP, que pode ser bloqueado por alguns firewalls e filtros de rede.
  1. Complexidade de configuração
  • A configuração incorreta do HTTP/2 pode piorar o desempenho (por exemplo, se a priorização de fluxos não for utilizada).
  • O HTTP/3 requer uma versão atualizada do Nginx, OpenSSL e suporte QUIC, o que pode ser desafiador em servidores mais antigos.
  1. Consumo de recursos
  • O HTTP/3 exige mais recursos do servidor, especialmente com um grande número de conexões.
  1. Dependência do HTTPS
  • O HTTP/2 só funciona sobre HTTPS, o que aumenta a complexidade e o custo da configuração e manutenção de certificados.
  1. HTTP/1.1 e desempenho com HTTP/2/3
  • HTTP/2 e HTTP/3 não excluem o suporte ao HTTP/1.1. Isso pode reduzir ligeiramente o desempenho, mas não causa problemas críticos, pois o HTTP/1.1 é usado apenas para clientes que não suportam protocolos mais modernos.

Como Ativar HTTP/2 e HTTP/3 no Nginx

info

Se você estiver usando um painel de controle, por exemplo, FASTPANEL, pode ativar o HTTP/2 e o HTTP/3 para o seu site nas configurações do site sem editar manualmente o arquivo de configuração.

  1. Verificando compatibilidade

Conecte-se ao seu servidor via SSH.

Verifique a versão atual do Nginx:

sudo nginx -v

Para HTTP/3, é necessária a versão 1.25.0 ou superior.

Verifique a versão atual do OpenSSL:

openssl version

Para trabalhar com HTTP/3, você precisa da versão 3.0.0 ou superior do OpenSSL, pois versões anteriores não suportam QUIC.

Além disso, antes de fazer alterações na configuração do nginx, certifique-se de que não há erros:

nginx -t

Se tudo estiver bem (você pode ignorar as mensagens de “warn”), você verá:

nginx: a sintaxe do arquivo de configuração /etc/nginx/nginx.conf está ok

teste do arquivo de configuração /etc/nginx/nginx.conf bem-sucedido
  1. Configurando HTTP/2

Abra o arquivo de configuração do seu site em um editor de texto:

sudo nano /etc/nginx/sites-available/your-site.conf

Adicione a diretiva http2 à linha listen 443 ssl e adicione a linha http2 on dentro do bloco server, para que fique algo como isto:

server {

listen 443 ssl http2;

server_name example.com;



ssl_certificate /path/to/fullchain.pem;

ssl_certificate_key /path/to/privkey.pem;



http2 on;


resto do seu arquivo de configuração

}
atenção

Note que um certificado SSL válido é necessário para que o HTTPS e o HTTP/2 funcionem.

Reinicie o servidor web para aplicar as alterações:

systemctl restart nginx
  1. Configurando HTTP/3

Semelhante ao passo anterior, abra o arquivo de configuração do seu site e modifique-o para que fique assim:

server {

listen 443 ssl http2;

listen 443 quic reuseport;

server_name example.com;



ssl_certificate /path/to/fullchain.pem;

ssl_certificate_key /path/to/privkey.pem;



http2 on;



ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

add_header Alt-Svc 'h3=":443"; ma=86400';


resto do seu arquivo de configuração

}

Aqui:

  • listen 443 quic reuseport; — ativa o HTTP/3 (QUIC) na porta 443 e melhora o desempenho sob cargas de conexão elevadas.
  • ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; — especifica as versões TLS para criptografia. Para maior segurança, é recomendado usar apenas TLSv1.2 e TLSv1.3.
  • add_header Alt-Svc 'h3=":443"; ma=86400'; — este cabeçalho informa aos navegadores que o servidor suporta HTTP/3 e armazena essas informações por 24 horas.
atenção

O parâmetro reuseport só pode ser usado uma vez na configuração do servidor Nginx. Tentar especificá-lo várias vezes para diferentes diretivas de listen causará conflitos e operação inadequada do servidor.

Em seguida, execute uma verificação de compatibilidade adicional para sua versão do nginx com essas diretivas, bem como uma verificação de sintaxe:

nginx -t

Se tudo estiver bem (você pode ignorar as mensagens de “warn”), você verá:

nginx: a sintaxe do arquivo de configuração /etc/nginx/nginx.conf está ok

teste do arquivo de configuração /etc/nginx/nginx.conf bem-sucedido

Reinicie o Nginx para aplicar as alterações:

systemctl restart nginx

Conclusão

HTTP/2 e HTTP/3 são um passo para o futuro, acelerando os tempos de carregamento do site, melhorando o SEO e tornando seu recurso mais utilizável. No entanto, é importante considerar a compatibilidade, o consumo de recursos e a complexidade da configuração.

Se a maioria dos seus usuários estiver em navegadores modernos, comece ativando o HTTP/2. Em seguida, passe para o HTTP/3 se você estiver pronto para atualizar o software do servidor e estiver confiante na compatibilidade da sua infraestrutura.

Se você preferir não configurar esses protocolos manualmente, pode escolher um servidor com o FASTPANEL gratuito, onde ativar o HTTP/2 e o HTTP/3 para o seu site é simples e conveniente.