Primeiro de tudo, você provavelmente está extremamente familiarizado com o HTTP. Embora você talvez não saiba exatamente o que isso significa e o que faz, mas provavelmente o usa dezenas de vezes todos os dias.
Essencialmente, o HTTP (abreviação de HyperText Transfer Protocol) é o modo como o navegador e um servidor web se comunicam entre si. Em termos não muito técnicos, o HTTP é a linguagem usada pelo servidor web e pelo cliente para se comunicar. O HTTP foi documentado pela primeira vez oficialmente em 1991 como versão 0.9, ou seja, há mais de 25 anos.
O tamanho do site padrão cresceu de alguns kilobytes para alguns megabytes. O número real de arquivos que compõem um site passou de apenas um punhado para cem ou mais arquivos. Esse progresso é resultante de uma explosão no tamanho e número de arquivos necessários para executar um site, e que exacerbaram uma série de limitações que o protocolo HTTP/1 tem.
Essas limitações estavam criando latência (ou lentidão) no carregamento de um site. Portanto, o HTTP/2 é essencialmente uma evolução do protocolo HTTP/1, que visa corrigir essas limitações. De fato, um de seus principais objetivos declarados é diminuir a latência para melhorar as velocidades de carregamento da página em navegadores web.
1. As limitações do HTTP1.x
Como mencionado acima, o HTTP1.x tem um número maior de requisições que surgiram devido à complexidade e ao tamanho cada vez maiores dos sites atuais.
Com isso, podemos perceber que todo site (em HTTP 1.x) faz mais requisições ao servidor do site.
Podemos exemplificar essa situação usando dois arquivos básicos para se ter um site, o index.html (página inicial do site) e uma imagem que possa ser incluída dentro do site.
O arquivo HTML consiste em quase todo o conteúdo da página. O único recurso adicional necessário para exibir a página corretamente é o da imagem. Isso significa que o navegador precisa fazer duas conexões, o que acaba tornando mais pesado.
Ou seja, criar uma única conexão requer uma sobrecarga técnica significativa. Criar centenas de conexões significa que essa sobrecarga é ocorrida centenas de vezes. Isso estava se tornando um problema real para os designers e, portanto, fazer um site rápido, envolveu principalmente duas coisas:
- Diminuindo a latência, combinando o maior número possível de arquivos em um único arquivo – exigindo, portanto, menos solicitações;
- Compactando e diminuindo os arquivos, reduzindo o tamanho dos dados enviados entre o navegador e o servidor;
2. Por que um site usando HTTP/2 é mais rápido?
No início o HTTP1.x era um protocolo baseado em texto, essencialmente destinado a ser legível por humanos. Por outro lado, o HTTP/2 é um protocolo binário. Isso significa que é destinado a comunicações entre máquinas (seu servidor web e seu navegador) em vez de seres humanos.
Isso torna a comunicação entre o servidor e o navegador mais eficiente de diversas maneiras. Em essência, é mais rápido de analisar, reduz o número de erros e elimina algumas ineficiências necessárias para a legibilidade, como espaço em branco, linhas em branco, terminações de linha, capitalização etc.
O HTTP/ 2 também permite que vários arquivos sejam transferidos simultaneamente. Usando um exemplo, com o HTTP1.x o carteiro tem que voltar aos Correios para cada carta que ele precisa entregar, ou seja, ele está limitado pelo fato de só poder entregar uma carta por vez.
Já o HTTP/2 é multiplexado, o que efetivamente significa que várias conexões podem acontecer ao mesmo tempo.
Com o HTTP/2 nosso carteiro agora pode entregar mais do que uma carta ao mesmo tempo, tornando a entrega de todos os recursos de um site muito mais eficiente e, claro, mais rápida.
3. HTTP/2 emprega outras técnicas de otimização
O HTTP2 permite o que é chamado de compactação de cabeçalho. Esse é essencialmente um mecanismo que reduz a sobrecarga na criação da conexão inicial entre o servidor e o cliente. Isso faz com que o tempo necessário para iniciar uma conexão seja significativamente menor, principalmente em dispositivos móveis, em que a sobrecarga geralmente é composta por redes lentas e a necessidade de buscar dados de vários servidores para um único site.
Analisando as características do HTTP2, podemos ver que:
- É mais rápido criar uma conexão entre o cliente e o servidor;
- A conexão real entre um navegador e um servidor web é mais eficiente, portanto, implicitamente mais rápida;
- Arquivos e recursos necessários pelo cliente podem ser transferidos simultaneamente, em vez de sequencialmente;
- Os arquivos podem ser enviados para o navegador web pelo servidor, se acharem que precisarão mais tarde, tornando o tempo de transferência mais curto dos arquivos;
- Conexões iniciais sendo feitas de uma forma mais eficiente.
4. HTTP/2 para o WordPress
Simplificando, o HTTP/2 é independente do WordPress ou de qualquer outro CMS que você esteja usando. Como isso é algo implementado no nível do servidor web, isso é algo “menor” na pilha do que no site do WordPress. Uma das melhorias é a implementação de um mecanismo chamado Server Push. Isso requer sugestões ou orientação pelo CMS sendo usado.
Para o WordPress, o plugin HTTP/2 Server Push WordPress permite que os administradores do site sugiram quais recursos podem ser “empurrados pelo servidor”. O que isto faz é adicionar o suporte necessário para pressionar cada script enfileirado e arquivo de estilo.
Isso significa que os arquivos JS e CSS que usam o mecanismo de enfileiramento do WordPress podem ser empurrados para o navegador, fazendo assim uso total das técnicas de otimização HTTP/2.
E quanto as técnicas para tornar o WordPress mais rápido?
Existem diferentes tipos de otimizações que tornam o seu site WordPress mais rápido. Alguns deles ainda são aplicáveis, e alguns devem ser desativados. As otimizações podem ser consideradas qualquer coisa que reduz o tempo de renderização, ou, qualquer otimização que vise reduzir o tempo total necessário para renderizar as páginas do seu WordPress, como:
- Reduzir plugins para diminuir o tempo de renderização;
- Implementar vários níveis de mecanismos de cache;
- Tornar o seu site mais enxuto em geral através de temas ou outros.
Todas essas otimizações são seguras. Outras otimizações também são aquelas em que os arquivos recebem um longo tempo de expiração, de modo que são reutilizados repetidas vezes se não forem alterados. Isso normalmente se aplica a arquivos CSS e JS que não são alterados com freqüência.
A Inovalize fornece hospedagem de sites com HTTP/2, entre em contato conosco para saber mais 😉