Em 2020, migre seu site para o protocolo HTTP/3

Neste artigo, iremos o que o protocolo HTTP/3 faz e explicaremos por que você deve atualizar se ainda não o fez. Porém, o que é HTTP? Simplificando, HTTP é o protocolo que permite acessar informações e arquivos de outro servidor web.

HTTP significa protocolo de transferência de hipertexto , que é o conjunto de regras que define como as páginas da web são entregues do servidor para os navegadores. É o mesmo protocolo que facilita a criptografia. O HTTP utilizada o protocolo TCP para realizar a comunicação.

Uma breve história do HTTP

Se você estiver familiarizado com a especificação OSI (Open Systems Interconex) , o HTTP é um protocolo da camada de aplicativo, o que significa que pode ser atualizado e melhorado com o aumento da largura de banda, etc. Isso deu origem a várias versões do protocolo.

 

HTTP/1

Está versão foi a primeira implementação do HTTP e apresenta as seguintes características :

  • Protocolo amigável ao navegador
  • Campos de cabeçalho que incluem metadados avançados sobre solicitação e resposta (número da versão HTTP, código de status, tipo de conteúdo)
  • A resposta não se limita ao hipertexto; o cabeçalho habilitou a transmissão de arquivos em formatos diferentes de HTML simples (por exemplo, scripts, folhas de estilo, mídia, etc.)Content-Type
  • Suporte para GET, HEADe POSTmétodos
  • A conexão foi encerrada imediatamente após a resposta
  • A principal causa de latência no protocolo HTTP / 1 é o problema de bloqueio de ponta de linha . As páginas da Web exigem vários recursos: CSS, JavaScript, fontes, imagens, AJAX / XMR, etc., o que exige que o navegador faça várias solicitações ao servidor. No entanto, nem todos esses recursos são necessários o tempo todo, portanto, todo o carregamento extra pode ser uma perda de tempo.

Com HTTP / 1.0, era necessário que os navegadores concluíssem uma solicitação, incluindo o recebimento total da resposta, antes de iniciar a próxima solicitação. Isso também resulta em maior tempo de carregamento porque tudo tinha que ser feito em sucessão. O HTTP / 1.1 resolveu esse problema introduzindo o pipelining, que permitia que os navegadores da web iniciassem novas solicitações sem precisar esperar pela conclusão das solicitações anteriores. Isso ajudou a acelerar os tempos de carregamento em ambientes de baixa latência.

 HTTP/2

O padrão agora é HTTP 2, que usa TCP como seu protocolo principal de comunicação.

Com HTTP / 2, várias solicitações e respostas podem ser transmitidas pela mesma conexão simultaneamente. A desvantagem é que todas as solicitações e respostas podem ser afetadas pela perda de pacotes devido ao congestionamento da rede.

O TCP entrega todo o fluxo de bytes de um ponto de extremidade para outro na ordem correta. Ocasionalmente, problemas de rede ou conexão podem resultar em pacotes de bytes perdidos ou corrompidos. O TCP tentará preencher um pacote perdido reenviando a solicitação. Esta única ação pode causar atrasos desnecessários no processo, o que naturalmente afeta a velocidade e o desempenho da comunicação. Este é, em essência, o problema do bloqueio frontal.

HTTP/3

O HTTP / 3 visa eliminar o problema de bloqueio de ponta de linha de uma vez por todas. Em vez de usar o TCP como a camada de transporte para a comunicação, ele introduz uma nova camada de transporte chamada Quick UDP Internet Connections (QUIC) .

O QUIC, que é criptografado por padrão, foi projetado para acelerar e proteger o tráfego HTTP. Tem como objetivo substituir o TCP e o TLS.

O Cloudflare lista algumas vantagens de usar QUIC sobre TCP e UDP tradicionais, incluindo:

  • Segurança integrada
  • Sem bloqueio frontal
  • QPACK, um novo esquema de compressão de cabeçalho
  • Reflexo defletido
  • Desempenho UDP

A combinação de QUIC e HTTP 3 promete resolver o problema de bloqueio de ponta de linha e abordar muitas outras deficiências associadas aos padrões anteriores, inaugurando uma nova era de desempenho na web.

Por que você deve atualizar para HTTP/3

Os benefícios de mudar de TCP para QUIC incluem:

  • Latência mais baixa. Um estudo do Google descobriu que o uso do QUIC acelerou os resultados da pesquisa em 3,6 por cento e o tempo de carregamento do YouTube em 15 por cento
  • Alternar entre redes tem pouco ou nenhum efeito na velocidade; com o QUIC, esse processo de transferência ou renegociação não é mais necessário.
  • Otimização do handshake. O QUIC suporta um único handshake em uma conexão em vez de dois ou mais, o que aumenta o tempo de conexão para a comunicaçãoMultiplexação. O QUIC aborda o problema de bloqueio de ponta de linhaCorreção de erros antecipada (FEC)
  • Melhor controle de congestionamento. Não está claro qual será a opção final, mas parece que será baseada no TCP NewReno

Agora que você entende os fundamentos do HTTP, a história das versões do protocolo e o potencial do protocolo QUIC para melhorar o desempenho, deve ter o conhecimento fundamental e a motivação para mudar para o HTTP / 3.

 

Share This Article
Follow:
Escritor do livro Aplicações Avançadas em LINUX com mais de 20 anos trabalhando com LINUX e UNIX.
Sair da versão mobile