O que é HTTP/3?

O HTTP/3 é a próxima grande revisão do protocolo de transferência de hipertexto (HTTP). Ele vai melhorar a velocidade, a segurança e a confiabilidade.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Entender que melhorias são esperadas no HTTP/3
  • Reconhecer como o protocolo irá moldar a experiência do usuário
  • Descrever os benefícios previstos em termos de segurança

Conteúdo relacionado


Quer saber mais?

Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.

Consulte a política de privacidade da Cloudflare para saber como coletamos e processamos seus dados pessoais.

Copiar o link do artigo

O que é HTTP/3?

O Protocolo de transferência de hipertexto (HTTP) é um backbone essencial da internet, ele determina como as plataformas e dispositivos de comunicação trocam informações e buscam recursos. Em resumo, é o que permite que os usuários carreguem sites.

HTTP/3 é a versão principal mais recente do HTTP. Os navegadores e servidores web podem usá-lo para fazer upgrades significativos na experiência do usuário, incluindo desempenho, confiabilidade e segurança. A negociação de versões HTTP acontece sem interrupções, sem necessidade de alterações no código do site.

O que há de novo no HTTP/3?

O HTTP/3 é a primeira grande atualização para HTTP desde que o HTTP/2 foi aprovado em 2015. Ele foi publicado e disponibilizado a todos os clientes da Cloudflare em 2021.

Uma diferença importante no HTTP/3 é que ele é executado no QUIC, um novo protocolo de transporte. O QUIC foi projetado para ser rápido e para oferecer suporte à alternância rápida entre redes. Ele depende do User Datagram Protocol (UDP) em vez do Protocolo de Controle de Transmissão (TCP), o que mitiga um problema chamado bloqueio de cabeçalho de linha no TCP, onde a perda ou reordenamento de pacotes de rede pode desacelerar conexões de alta transação. Além disso, o QUIC separa a conexão de transporte da camada 4 do fluxo de IP da camada 3, permitindo a migração entre diferentes redes sem interrupção.

O QUIC pode oferecer suporte melhor ao uso pesado da internet por dispositivos móveis, no qual as pessoas carregam smartphones e alternam constantemente de uma rede para outra à medida que se movem ao longo do dia. Este tipo de utilização da internet não era comum quando os primeiros IPs foram desenvolvidos: os dispositivos eram menos portáteis e não mudavam de redes com muita frequência.

O Google começou a trabalhar em uma versão inicial do QUIC em 2012. Em 2016, ele foi adotado pela Internet Engineering Task Force (IETF), uma organização de normas neutra em relação a fornecedores, quando começaram a criar o novo padrão HTTP/3. Após consultar especialistas de todo o mundo, a IETF fez uma série de mudanças para desenvolver a versão agora padrão do QUIC publicada como RFC 9000.

Por que uma nova versão do HTTP é necessária?

O QUIC ajuda a corrigir algumas das maiores falhas do HTTP/2:

  • Diminuindo os efeitos da perda de pacotes, quando um pacote de informação não chega ao seu destino, ele não bloqueia mais todos os fluxos de informação, um problema conhecido como "bloqueio de cabeça de linha"
  • Estabelecimento de conexão mais rápido: o QUIC combina os handshakes criptográfico e de transporte
  • Zero tempo de ida e volta (0-RTT): para servidores aos quais já se conectaram, os clientes podem pular o requisito de handshake (o processo de reconhecimento e verificação um do outro para determinar como eles se comunicarão)
  • Criptografia mais abrangente: o QUIC é criptografado por padrão, tornando o HTTP/3 mais seguro que o HTTP/2 (mais sobre isso abaixo)
  • Proteção contra ataques de negação de serviço distribuída (DDoS) HTTP/2 "Rapid Reset", que podem desacelerar ou travar um servidor web, usando um sistema baseado em crédito para streamings (um "stream" é uma única solicitação e troca de resposta HTTP) para permitir o controle refinado dos servidores HTTP/3 sobre a simultaneidade de streamings
  • Desenvolver uma solução alternativa para o desempenho lento quando um smartphone muda de WiFi para dados de celular, como ao sair de casa ou do escritório

O que é criptografia por padrão?

Exigir criptografia dentro da camada de transporte, em vez de na camada de aplicação, tem implicações importantes para a segurança. Isso significa que a conexão sempre será criptografada. Anteriormente, em HTTPS, as conexões de criptografia e da camada de transporte ocorriam separadamente. As conexões TCP podiam transportar dados criptografados ou não criptografados, e o handshake TCP e o handshake Transport Layer Security (TLS) eram eventos distintos. No entanto, o QUIC configura conexões criptografadas por padrão na camada de transporte. Os dados da camada de aplicação sempre serão criptografados.

O QUIC faz isso combinando os dois handshakes em uma ação, reduzindo a latência, pois os aplicativos devem aguardar a conclusão de apenas um handshake antes de enviar os dados. Ele também criptografa metadados sobre cada conexão, incluindo números de pacotes e algumas outras partes do cabeçalho, para ajudar a manter as informações sobre o comportamento dos usuários fora das mãos dos invasores. Esse recurso não era possível com o HTTP/2 porque dependia de TCP e TLS.

Historicamente, o HTTP usava TCP de texto simples , o que tem consequências negativas para a segurança, pois qualquer pessoa que monitore as comunicações pode ler solicitações e respostas. Hoje, os sites e navegadores web preferem criptografar todas as comunicações HTTP para ajudar a manter todos mais seguros e proteger dados confidenciais. A criptografia do QUIC por padrão é compatível com esse objetivo.

O HTTP/3 já está disponível?

Sim. O HTTP/3 é implementado como padrão em todos os principais navegadores web e pode ser ativado por todos os clientes da Cloudflare sem nenhuma alteração em sua origem. Saiba como fazer a troca no seu domínio.

O Cloudflare Radar mantém estatísticas atualizadas sobre o uso da versão HTTP.