Saiba mais sobre o Protocolo HTTP/2

82 / 100 SEO Score

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