Saiba mais sobre o Protocolo HTTP 2

86 / 100

http/2

Depois de ler o artigo sobre HTTP 2 não vai querer mais HTTP 1.1!

Se começou a acessar na internet depois de 1999, você pode estar usando o mesmo protocolo que usa atualmente para acessar páginas da web, o HTTP/1.1. Após vários anos sem grandes atualizações, o Internet Engineering Steering Group (IESG), que é o órgão responsável por revisões técnicas nos padrões da internet, aprovou o HTTP/2. E o que muda na sua vida?

Entenda o que é HTTP

A internet é formada por algumas “camadas”. A mais próxima de você é a camada de aplicação, que reúne protocolos para funções específicas:

IMAP: que seu cliente de email usa para baixar suas mensagens

NTP: que mantém o relógio do seu computador sincronizado

FTP: para baixar e enviar arquivos

e muitos outros.

O HTTP é um protocolo desenvolvido originalmente para distribuir conteúdo hipertexto, ou seja, textos com links que conseguem levar você a outros textos com links. Você usa o HTTP todos os dias para acessar páginas.

O protocolo que alguns dos sites ainda usa é o HTTP 1.1, que foi lançado em 1999. Ele permitiu que a web continuasse crescendo ao resolver alguns problemas do HTTP 1.0, como o alto uso de dados. Com o novo HTTP 1.1, as páginas poderiam ser comprimidas pelos servidores e descomprimidas pelo computador do usuário. Dessa forma, seria possível baixar de maneira mais rápida uma página com um incrível modem de 28k bits.

 

http/2

Mas se o HTTP 1.1 está funcionando, por que usar HTTP 2?

O problema de uma página ter muitos elementos é que o HTTP/1.1 é um protocolo sequencial e o seu navegador abre uma conexão, solicita um arquivo ao servidor do site, recebe o arquivo e só depois pede outro arquivo. Para minimizar essa perda de tempo, os navegadores normalmente abrem múltiplas conexões por servidor. Assim, o browser pode baixar vários elementos ao mesmo tempo e acelerar o carregamento da página.

Mas, como boa parte das páginas incorporam elementos de vários servidores (vídeos no YouTube, fontes no Google e imagens num servidor de cache, por exemplo), isso significa que seu navegador pode acabar abrindo dezenas de conexões só para carregar uma página. Obviamente, isso congestiona e monopoliza o uso da rede, prejudicando outras aplicações, como ligações VoIP.

Além disso, abrir novas conexões a todo momento significa que seu navegador precisa fazer negociações a todo momento. Para cada solicitação de arquivo, o servidor do site e seu navegador trocam cabeçalhos, que incluem o user-agent, com a versão do seu navegador e sistema operacional, por exemplo. Algumas dessas informações não mudam a todo momento, então está havendo um grande desperdício de tráfego em páginas com muitos elementos no HTTP 1.1.

Portanto, o principal problema que o HTTP 2 tenta resolver é o das múltiplas conexões.

 

O que mudou em relação ao HTTP 1.1? E por que os sites vão ficar mais rápidos?

No HTTP 1.1, o navegador abre uma conexão para baixar um único arquivo. Se essa conexão ficar ocupada por muito tempo, seja porque o arquivo é muito grande ou porque o servidor está lento para responder, o carregamento da página simplesmente trava no meio do processo. Há como amenizar esse problema abrindo múltiplas conexões, mas isso é apenas uma gambiarra, não uma solução.

http/2

Já o HTTP 2 usa multiplexação, um nome complicado para dizer que o navegador abre uma única conexão para baixar múltiplos arquivos. As requisições e respostas são paralelas e assíncronas: seu navegador pede vários arquivos ao mesmo tempo e recebe-os assim que eles estiverem prontos, na mesma conexão. Mas e se uma imagem na página, por exemplo, for pesada demais? Na mesma conexão, é possível misturar os dados, recebendo parte da imagem, depois um arquivo totalmente diferente e por fim o resto da imagem que faltava.

Outra novidade do HTTP 2 é o que está sendo chamado de server push. Com HTTP 2, o servidor poderá mandar esses elementos antes do seu navegador pedi-los. Dessa forma, assim que seu navegador solicitar nosso index.html, o servidor poderá responder com o index.html, o style.css, o tb.css, o jquery.js e o favicon.png. Quando seu navegador se der conta de que precisa usar esses arquivos para renderizar a página, eles já estarão no seu computador, prontos para uso.

No HTTP 2, os cabeçalhos serão comprimidos com um formato chamado HPACK. Sempre que seu navegador solicita um arquivo, ele precisa baixar o cabeçalho desse arquivo, que pode conter o tamanho do arquivo, as informações do servidor e um cookie. Geralmente, um cabeçalho não passa de 1 KB, mas imagine isso se multiplicando por dezenas de arquivos? Com a compressão nos cabeçalhos, o uso de dados será menor — e as páginas carregarão mais rapidamente, claro.

http/2

Quando vou poder usar HTTP 2?

As especificações do HTTP 2 já estão ativas e estão sendo encaminhadas para se tornarem um padrão. Nos nossos servidores de hospedagem, todos os clientes contam com o protocolo HTTP 2.

O Internet Explorer do Windows 10, o Google Chrome e o Firefox tem suporte ao HTTP 2. Do lado dos servidores, a experiência para usuário melhorou bastante. Tanto o Apache como o nginx já incluem suporte para o HTTP 2.

A adoção do protocolo HTTP 2 deverá acontecer ao longo de meses e a migração acontecerá aos poucos. Certamente algumas empresas ainda irão usar o protocolo HTTP 1.1, mas aqui na PR Nethost o HTTP 2 já está ativo há um bom tempo. Os principais navegadores e servidores já estão preparados ou se preparando para o HTTP 2, ele não deve demorar para dominar a internet. E os usuários agradecem.

 

Como saber se meu servidor já usa HTTP 2?

Para saber se o seu servidor de hospedagem, já usar o protocolo HTTP/2, acesse o site KeyCDN e digite o seu domínio e clique em TEST. Se o resultado for similar a imagem apresentada abaixo:

http/2

Parabéns! Seu servidor está preparado para HTTP 2!

Este post tem 2 comentários

Comentários encerrados.

Fechar Menu
shares