Uma análise mais detalhada do HTTP/2: como funciona e o que significa para a Web

Publicados: 2023-02-09

Em 2015, foi aprovada uma nova versão do protocolo de rede HTTP — HTTP/2. Agora, está se tornando cada vez mais popular: o protocolo já suporta os servidores web Apache e Nginx, navegadores Chrome, Firefox, Opera, Edge e Safari, além de dispositivos móveis.

O número de serviços e sites HTTP/2 está crescendo constantemente. Em um futuro próximo, a Internet aguarda a transição para um novo protocolo, que acelera o download do site.

Vamos descobrir como isso afetará a construção do site, o SEO e outros aspectos.

Índice
O que é HTTP/2?
Diferença entre HTTP e HTTP 2
Prós e contras do HTTP/2
Por que o mundo precisa de HTTP/2?
O HTTP/2 é realmente mais rápido?
Por que o HTTP/2 funciona mais rápido?
Por que é importante acelerar o carregamento da página do site?
Como implementar o HTTP 2?
Conclusão
perguntas frequentes

O que é HTTP/2?

http 2
HTTP 2

O protocolo HTTP/1.1 é usado desde 1999 e, com o tempo, adquiriu um problema significativo. Os sites modernos, em contraste com o que era popular em 1999, usam muitos elementos diferentes: scripts JavaScript, estilos CSS e, às vezes, também animação em flash. Quando você transfere todos eles, o navegador e o servidor criam várias conexões.

O protocolo HTTP/2 acelera significativamente a velocidade dos sites devido aos seguintes recursos:

  • Conexões: várias solicitações podem ser enviadas por meio de uma única conexão TCP e as respostas podem ser recebidas em qualquer ordem. Não há necessidade de manter múltiplas conexões TCP.
  • Prioridades de thread: o cliente pode definir as prioridades do servidor — que tipo de recursos são mais importantes para ele do que outros.
  • Compressão de cabeçalho: o tamanho do cabeçalho HTTP pode ser reduzido.
  • Push-enviando os dados do lado do servidor: o servidor pode enviar ao cliente os dados que ainda não foram solicitados, por exemplo, com base nos dados da próxima página que os usuários abrirão.

O desenvolvimento do protocolo HTTP 2 foi baseado no protocolo SPDY, desenvolvido pelo Google. Mas o Google já anunciou que recusará mais suporte SPDY para um HTTP/2 mais promissor.

Leia: Por que seu site WordPress está lento e como acelerá-lo?

Principais recursos do HTTP/2

  • Multiplexação
  • Push do servidor
  • Compressão de Cabeçalho
  • Priorização de transmissão
  • Controle de fluxo

Diferença entre HTTP e HTTP 2

As alterações feitas ao primeiro protocolo não requerem muitas alterações no funcionamento das aplicações. Embora haja uma vantagem para novos aplicativos que funcionarão em velocidade aprimorada. As principais diferenças entre os dois protocolos foram comparadas abaixo:

Recurso HTTP HTTP2
Sintaxe A sintaxe de alto nível é a mesma A sintaxe de alto nível é a mesma
Enquadramento de dados Enquadramento de dados modificado Enquadramento de dados aprimorado
Consultas Consultas limitadas Mais consultas
Capacidade de resposta do servidor Capacidade de resposta limitada Capacidade de resposta aprimorada
Sites Eficientes Solicitações minimizadas Eficiência aprimorada
Bloqueio de Cabeçalho Presente em HTTP Superado em HTTP2
Multiplexação Não presente Presente
Compressão de Cabeçalho Não presente Presente
Solicitar Priorização Não presente Presente
Diferença entre HTTP e HTTP/2

Abaixo está uma boa representação visual da diferença básica entre HTTP/1 e HTTP/2 (cortesia: http:// ruzhekov.com)

nginx http/2
nginx http/2

Prós e contras do HTTP/2

Prós

  • Velocidade de carregamento de página aprimorada
  • Melhor uso dos recursos de rede
  • Maior experiência do usuário
  • Melhor compatibilidade com tecnologias web modernas

Contras

  • O protocolo é considerado inconsistente e complexo
  • Viola o princípio da camada de protocolo
  • Vem com um alto custo de criptografia
  • Não compatível com determinados dispositivos, como roteadores
  • Falta criptografia oportunista

Por que o mundo precisa de HTTP/2?

  • O HTTP foi descrito pela primeira vez em 1991 e sua versão mais recente, HTTP/1.1, foi aprovada em 1999 e ainda está em uso hoje.
  • O tamanho dos sites aumentou significativamente ao longo dos anos, levando a tempos de carregamento lentos e limitações no número de conexões simultâneas usando HTTP/1.1.
  • Soluções temporárias, como otimizar o carregamento do site, foram implementadas, mas oferecem apenas uma solução de curto prazo.
  • Os engenheiros do Google começaram a trabalhar na melhoria do protocolo em 2009, levando à criação do protocolo SPDY, que é mais rápido e compatível com a maioria dos navegadores, mas requer suporte do lado do servidor.
  • HTTP/2 é baseado em SPDY e é compatível com HTTP/1.1. Não há necessidade imediata de atualizar, mas, eventualmente, os sites podem carregar mais lentamente no protocolo mais antigo.

O HTTP/2 é realmente mais rápido?

HttpWatch Experts realizou vários testes e encontrou uma aceleração séria com HTTP 2.

A captura de tela abaixo mostra a velocidade de download da página usando HTTP / 1.1:

http 2 ss1
Http 2 SS1

E nesta captura de tela — o resultado do uso de HTTP 2:

http 2 ss2
HTTP 2 ss2

A velocidade de download aumentou em 23%. Os especialistas do HttpWatch também observam que a tecnologia ainda não está totalmente otimizada e esperam uma aceleração real de até 30%.

Por que o HTTP/2 funciona mais rápido?

  • Várias solicitações enviadas na mesma conexão em HTTP/2 (multiplexação) levam a um carregamento mais rápido de elementos estáticos
  • A compactação de cabeçalhos HTTP em HTTP/2 reduz a quantidade de dados entre o servidor e o navegador, liberando recursos
  • Segurança aprimorada com conexões criptografadas para suporte HTTP/2 por navegadores de tendências (Google Chrome, Mozilla Firefox)
  • Alterações na ordem de priorização em HTTP/2 sendo a priorização um método desejável para o funcionamento adequado da multiplexação
  • A falta de configuração de priorização no HTTP/2 pode levar à redução da velocidade, pois os recursos que podem ser carregados posteriormente ocuparão uma faixa separada e uma parte da energia.

Por que é importante acelerar o carregamento da página do site?

  • O suporte a HTTP 2 não é um fator de classificação direto para o Google
  • A velocidade de download é um fator de classificação significativo para o Google
  • O HTTP/2 pode impactar positivamente a velocidade do site e afetar positivamente a classificação devido a fatores comportamentais
  • Páginas mais rápidas têm uma taxa de falha menor e podem resultar em maior envolvimento do usuário
  • O Google Bot em breve oferecerá suporte a HTTP/2
  • O HTTP 2 pode se tornar um fator de classificação no futuro, à medida que os mecanismos de pesquisa mudam os algoritmos.

Os benefícios para desenvolvedores web

O HTTP 2 permite que você se livre de velhos truques, projetados para acelerar o carregamento da página sem HTTP/2. Listamos o:

  • Fragmentação de domínio ou uso de vários domínios relacionados para baixar arquivos para permitir o estabelecimento de mais conexões TCP.
  • Sprites de imagens — combinando imagens em um arquivo para reduzir o número de solicitações. No entanto, esse arquivo deve primeiro ser completamente carregado para ser exibido. Além disso, o processamento de arquivos grandes consome mais memória.
  • Combine os arquivos CSS e JavaScript, o que também é feito para reduzir o número de solicitações e também aumentar o uso de memória.
  • Inclusão inline ou colocação de CSS e JavaScript e, às vezes, até imagens dentro do arquivo HTML, para reduzir o número de conexões. Ao mesmo tempo, a página não é exibida até que todo o arquivo seja carregado.
  • Domínios sem arquivos de cookies: Baixe imagens, CSS e JavaScript de outro domínio onde não são usados ​​cookies.

Como implementar o HTTP 2?

Para implementar o HTTP 2, você precisa seguir estas etapas:

  1. Verifique o suporte do servidor: verifique se o software do servidor oferece suporte a HTTP 2. Softwares de servidor populares, como Apache, Nginx e IIS, têm suporte integrado para HTTP 2.
  2. Ativar HTTP 2: Depois de confirmar que seu servidor oferece suporte a HTTP 2, você precisará ativá-lo. O método para habilitar HTTP 2 varia dependendo do software de servidor que você está usando.
  3. Use HTTPS: HTTP 2 requer uma conexão segura usando HTTPS, então você precisa ter um certificado SSL instalado em seu servidor.
  4. Atualize seu código: se você estiver usando uma biblioteca ou estrutura que lida com conexões HTTP, verifique se ela oferece suporte a HTTP 2. Algumas bibliotecas podem exigir atualizações para funcionar com HTTP 2.
  5. Teste seu site: depois de fazer as alterações necessárias, teste seu site para garantir que ele funcione com HTTP 2. Verifique se há erros ou avisos no console do navegador.
  6. Monitore o desempenho: monitore regularmente o desempenho do seu site para garantir que ele esteja funcionando sem problemas com HTTP 2.
  7. Considere otimizações de desempenho: a implementação do HTTP 2 melhorará o desempenho do seu site, mas ainda pode haver oportunidades para otimização adicional. Por exemplo, combinar imagens em sprites, compactar imagens e reduzir o número de solicitações HTTP pode melhorar ainda mais o desempenho.

Conclusão

HTTP 2 é compatível com HTTP 1.1 e não requer migração. No entanto, como os servidores e navegadores da Web adotam HTTP 2, as técnicas de otimização do site podem precisar ser atualizadas para evitar a lentidão do site.

Leia: Um guia completo sobre migração de HTTP para HTTPS no WordPress

Mesclar imagens em sprites melhora a compactação e reduz o download de dados, evitando o uso de URI de dados para incorporar imagens, o que pode melhorar o armazenamento em cache. A fragmentação de domínio não é mais necessária no HTTP 2, pois permite solicitações diretas de recursos e pode reduzir o desempenho ao criar conexões adicionais.

perguntas frequentes

Para que serve o HTTP2?

HTTP2 é um protocolo usado para transferir dados pela Internet, melhorando a velocidade e a segurança da entrega de conteúdo da Web, como páginas, imagens e vídeos de um servidor para um navegador. Ele oferece carregamento de página mais rápido e maior eficiência em comparação com seu antecessor, HTTP 1.1, permitindo que várias solicitações sejam enviadas e recebidas ao mesmo tempo.

Qual é a diferença entre HTTP e HTTP2?

HTTP2 é uma versão atualizada do HTTP que é mais rápida e eficiente que seu predecessor. Ele usa uma única conexão para carregar vários recursos, enquanto no HTTP são necessárias várias conexões. O HTTP2 também fornece compactação e priorização de dados, resultando em tempos de carregamento de página mais rápidos para os usuários.

Por que o http2 não é amplamente usado?

O HTTP2 não é amplamente utilizado devido a problemas de compatibilidade e implementação. Alguns dispositivos e softwares antigos não suportam HTTP2 e requerem um servidor dedicado e certificado SSL para implementação.