Otimização de desempenho em HTTP/2

Otimização de desempenho em HTTP/2

Manutenção do servidor e implementação do HTTP/2

O suporte para HTTP/2 estará disponível até o final desta semana para clientes em nossos pacotes WordPress. A mudança para HTTP/2 será parte de um grande patch de melhorias do servidor web que afeta esses pacotes que serão implementados em servidor, um de cada vez, durante as madrugadas de quinta e sexta-feira, 5 e 6 de outubro. A implementação pode causar uma breve interrupção do serviço devido ao reinício do serviço da web para o qual gostaríamos de pedir desculpas antecipadamente.

O Hyper Text Transfer Protocol é provavelmente o protocolo de rede mais utilizado na World Wide Web. Ao longo dos anos, testemunhamos os marcos alcançados, os altos e os desvios e, claro, como evoluiu. A última atualização desse protocolo trouxe a versão HTTP/2 para o campo e está cheia de inovações, recursos novos e aprimorados e até mesmo um melhor nível de segurança. Mas como alcançou esse marco – Essa pergunta vamos responder nas seguintes linhas desta postagem no blog!

HTTP 0.9 e HTTP 1.0

A primeira versão do protocolo HTTP nasceu no ano não tão distante de 1991. Nesse momento, o protocolo era bastante inovador, mas simples em termos de funcionalidade. A maneira como funcionou foi que uma linha de caracteres ASCII foi passada de um computador cliente para um servidor através de uma única conexão de rede para um endereço IP e uma porta. A linha não continha cabeçalhos e sempre começou com a palavra “GET” seguida pelo caminho para o recurso solicitado.

GET /contact-us/   <>

O servidor então respondeu com o documento de hipertexto real e então a conexão foi fechada.

Nos próximos 4 anos, surgiu o navegador Mosaic popular do primeiro mundo e com ele a necessidade de uma versão mais avançada do protocolo HTTP devido às suas limitações. Assim, em 1996, a versão HTTP 1.0 foi lançada e adotada de imediato pelos principais navegadores da web da época. A versão foi a introdução de comunicação de solicitação/resposta baseada em cabeçalho e, claro, a resposta não foi mais limitada a apenas hipertexto, mas também aceitou arquivos regulares.

HTTP 1.1

A versão HTTP 1.1 foi introduzida em 1997 como uma atualização padrão do HTTP 1.0. Nos próximos anos, o HTTP 1.1 foi verdadeiramente inovador com o suporte do Keep Alive e, claro, os cabeçalhos de host (permitindo que vários clientes compartilhem um único endereço IP), no entanto, com a crescente demanda por páginas mais complexas e maiores em tamanho, o protocolo tornou-se um fardo.

HTTP 1.1 permite que apenas um único pedido por recurso seja feito e cada solicitação só pode ser enviada através da nova conexão. Isso significa que, se um site carrega, por exemplo, 5 imagens, 2 arquivos CSS e 2 arquivos JS, o navegador do cliente iniciará 9 solicitações para o servidor para recursos estáticos e 9 novas conexões que terão de aguardar que um outro seja fechado. Dentro de cada pedido, o navegador enviará cabeçalhos de solicitação e receberá cabeçalhos de resposta em formato de texto simples quando o servidor web enviar o recurso solicitado. Cada vez que um novo visitante acessa um site, seu navegador web leva tempo para enviar os cabeçalhos de solicitação, para receber os cabeçalhos de resposta com o conteúdo e, finalmente, para renderizar a página da Web.

 
Nos dias de hoje, o tamanho médio de uma página da web era 15-20 kB, o que para HTTP 1.1 era um pedaço de bolo para lidar, no entanto, agora o tamanho médio de uma página da Web crescia para cerca de 2,5 MB e a arquitetura do HTTP 1.1, é obsoleta em termos de proporcionar velocidade de carregamento rápido para sites modernos.

Assim, a Web precisava de um novo protocolo de rede que realmente possa atender às demandas das páginas modernas. Não só isso, mas o protocolo também deve abordar o tamanho de escala das páginas da Web de forma que possa ser utilizado no futuro, independentemente do tamanho e uma série de solicitações de uma página da web.


SPDY

O desafio foi grande e apenas o Google deu um passo à frente com o desenvolvimento e a implementação do protocolo SPDY. O objetivo principal desse protocolo era acelerar o tempo de carregamento da página da Web e, claro, melhorar a segurança. Isso foi alcançado através de três melhorias principais sobre o protocolo HTTP 1.1:

Compressão – Os cabeçalhos já não foram transmitidos em formato de texto simples, mas em vez disso, eles são compactados, reduzindo assim o seu tamanho dramaticamente.

Multiplexagem – Uma única conexão é usada para transferir várias Solicitações / Respostas e, claro, recursos estáticos, como imagens, arquivos CSS, arquivos js e assim por diante.

Server Push – O servidor web pode enviar recursos adicionais ao cliente que não foram solicitados pelo navegador do cliente.

O protocolo SPDY, no entanto, não substituiu o protocolo HTTP 1.1 em vez disso, ele estava servindo ao lado de HTTP 1.1 simplesmente modificando o modo como o pedido/resposta funcionava.

Todos os navegadores modernos adotaram imediatamente a idéia de SPDY e lançaram atualizações para o suporte total desse protocolo. Infelizmente, para fins de segurança, esse protocolo só foi suportado através do protocolo https que requer um certificado SSL privado válido.
HTTP/2

Com o SPDY ganhando taxa de adoção rápida e, claro, com vantagens claras em relação ao HTTP 1.1, a estrada para a atualização da versão HTTP foi desenhada e, após um breve processo de seleção, o protocolo SPDY se tornou a base do protocolo HTTP/2.

Em maio de 2015, foi publicada a especificação HTTP/2, que marcou o início de uma nova era para o Hyper Text Transfer Protocol. No início desse ano, o Google anunciou que eles estarão descartando o suporte do SPDY em favor do HTTP/2, o que teoricamente aumentou a taxa de adoção do HTTP/2 na expectativa de que todos os usuários SPDY se deslocassem. O HTTP/2 é lançado como uma extensão nativa para o protocolo HTTP 1.1, o que significa que ele é compatível com os sites que anteriormente trabalhavam em HTTP 1.1. A intenção do protocolo deve ser usada para sites já criados para HTTP 1.1 e também para novos sites que serão criados em torno da funcionalidade de HTTP/2.

Neste ponto, todos os navegadores modernos suportam totalmente o HTTP/2, no entanto, o mesmo que o SPDY – apenas no protocolo https que exige que um certificado SSL seja instalado.


A 24horasonline suporta HTTP/2?

A partir da data de lançamento do protocolo HTTP/2 até agora, estávamos experimentando a mistura do protocolo HTTP/2 com a configuração do servidor já otimizada. Em muitos casos, no entanto, os resultados que obtivemos não foram satisfatórios principalmente porque tivemos que remover determinados recursos de otimização de velocidade de carga em favor de HTTP/2. Além disso, o suporte de HTTP/2 por cPanel também foi adiado. Oficialmente, eles anunciaram o suporte HTTP/2 antes de 2 meses, o que nos obrigava a acreditar que não era o momento certo para implementá-lo. Até agora!

Estamos felizes em anunciar que o suporte para HTTP/2 estará disponível no final desta semana para nossos clientes nos pacotes WordPress. A mudança para HTTP/2 será parte de um grande patch de melhorias do servidor web que afeta esse pacote e que serão implementados em um servidor de cada vez durante as madrugadas de quinta e sexta-feira, 5 e 6 de outubro. A implementação pode causar uma breve interrupção do serviço devido ao reinício do servidor web para o qual gostaríamos de pedir desculpas antecipadamente e também agradecemos aos nossos clientes por sua paciência e compreensão.

Após o patch planejado, o HTTP/2 será ativado por padrão para o pacote WordePress. Quanto aos nossos clientes Cloud SSD VPS e Dedicated Server, vamos permitir que eles decidam se devem ou não usar o HTTP/2 ou, em outras palavras, a implementação do HTTP/2 para esses Pacotes de Hospedagem na Web acontecerá apenas sob demanda – enviando o Pedido de Suporte Técnico na categoria “Geral” do nosso Sistema de Suporte.

Quanto ao nosso pacote de hospedagem dedicada e otimizada, devido à configuração do ambiente para esse pacote, não podemos fornecer suporte para o protocolo HTTP/2 neste momento. No entanto, gostaríamos de garantir aos nossos clientes que estamos dando o nosso melhor para torná-lo possível e, assim que isso acontecer, vamos lançar uma publicação de blog diferente, explicando os desafios que enfrentamos com essa implementação.

HTTP/2 precisa SSL/TLS

Tenha em atenção que HTTP/2 estará disponível apenas no protocolo https, uma vez que os navegadores da Web não o apoiarão no protocolo HTTP. Se o seu site ainda não estiver usando https – este é o momento certo para ativá-lo considerando a ameaça do login “Não seguro” no Chrome 62. Você pode fazer isso através do recurso de certificado gratuito “Vamos criptografar SSL” que oferecemos no serviço cPanel.