O Hyper Text Transfer Protocol (HTTP), o protocolo simples, limitado e finalmente chato da camada de aplicação, forma a base da World Wide Web. Em essência, o HTTP permite a recuperação de recursos conectados à rede disponíveis em todo o mundo cibernético e tem evoluído ao longo das décadas para oferecer um meio rápido, seguro e rico para a comunicação digital.
Na Kinsta estamos viciados em otimizar os tempos de carga dos sites hospedados em nossa plataforma e já lançamos vários guias sobre o tema anteriormente, basta dar uma olhada no Guia para iniciantes sobre otimização de velocidade de sites.
Uma vez que estamos sempre na vanguarda das novas tecnologias, certificamo-nos de que todo o site e administração da Kinsta é executado em HTTP/2 e o nosso novo Google Cloud infrastructure supports HTTP/2 para todos os nossos clientes. Este amplo recurso de informação explica o HTTP/2 para usuários finais, desenvolvedores e empresas que buscam inovação. Desde informações básicas até tópicos mais avançados, você aprenderá tudo o que precisa saber sobre o HTTP/2.
Este Guia destaca os seguintes aspectos-chave do HTTP/2:
O que é HTTP/2?
O HTTP foi originalmente proposto por Tim Berners-Lee, o pioneiro da World Wide Web que projetou o protocolo aplicativo com a simplicidade em mente para realizar funções de comunicação de dados de alto nível entre os servidores Web e os clientes.
A primeira versão documentada do HTTP foi lançada em 1991 como HTTP0.9, o que mais tarde levou à introdução e reconhecimento oficial do HTTP1.0 em 1996. O HTTP1.1 foi seguido em 1997 e desde então tem recebido poucas melhorias iterativas.
Em fevereiro de 2015, o Grupo de Trabalho HTTP da Internet Engineering Task Force (IETF) revisou o HTTP e desenvolveu a segunda versão principal do protocolo aplicativo na forma do HTTP/2. Em maio de 2015, a especificação da implementação do HTTP/2 foi oficialmente padronizada em resposta ao protocolo SPDY compatível com HTTP do Google. O argumento HTTP/2 vs SPDY continua ao longo de todo o guia.
O que é um Protocolo?
O debate HTTP/2 vs HTTP1 deve prosseguir com uma cartilha curta sobre o termo Protocolo frequentemente utilizado neste recurso. Um protocolo é um conjunto de regras que governam os mecanismos de comunicação de dados entre clientes (por exemplo, navegadores usados pelos usuários da Internet para solicitar informações) e servidores (as máquinas que contêm as informações solicitadas).
Os protocolos geralmente consistem em três partes principais: Cabeçalho, Carga útil e Rodapé. O cabeçalho colocado antes do Payload contém informações como os endereços de origem e destino, bem como outros detalhes (como tamanho e tipo) relativos ao Payload. A carga útil é a informação real transmitida usando o protocolo. O Rodapé segue o Payload e funciona como um campo de controle para encaminhar os pedidos cliente-servidor para os destinatários pretendidos juntamente com o Cabeçalho para garantir que os dados de Payload sejam transmitidos sem erros.
O sistema é semelhante ao serviço de correio postal. A carta (Payload) é inserida num envelope (Cabeçalho) com o endereço de destino escrito nele e selado com cola e selo postal (Rodapé) antes de ser despachada. Só que transmitir informação digital sob a forma de 0s e 1s não é tão simples e requer uma nova dimensão de inovação em resposta aos avanços tecnológicos crescentes que surgem com o crescimento explosivo do uso da Internet.
Protocolo HTTP originalmente composto de comandos básicos: GET, para recuperar informações do servidor e do POST, para entregar as informações solicitadas ao cliente. Este simples e aparentemente chato conjunto de poucos comandos para GET data e POST uma resposta formou essencialmente a base para construir outros protocolos de rede também. O protocolo é mais um passo para melhorar a experiência e eficácia dos utilizadores da Internet, necessitando da implementação do HTTP/2 para melhorar a presença online.
Objetivo de Criar HTTP/2
Desde a sua criação, no início dos anos 90, o HTTP tem visto apenas algumas grandes revisões. A versão mais recente, HTTP1.1 tem servido o mundo cibernético há mais de 15 anos. As páginas web na era atual de atualizações dinâmicas de informações, formatos de conteúdo multimídia com uso intensivo de recursos e inclinação excessiva para o desempenho web colocaram as antigas tecnologias de protocolo na categoria de legado. Estas tendências necessitam de mudanças significativas no HTTP/2 para melhorar a experiência da Internet.
O objetivo principal com a pesquisa e desenvolvimento de uma nova versão de centros HTTP em torno de três qualidades raramente associadas a um único protocolo de rede sem necessidade de tecnologias de rede adicionais – simplicidade, alto desempenho e robustez. Estes objetivos são alcançados através da introdução de capacidades que reduzem a latência no processamento de pedidos de browser com técnicas como multiplexagem, compressão, priorização de pedidos e push de servidor.
Mecanismos como controle de fluxo, atualização e tratamento de erros funcionam como aprimoramentos do protocolo HTTP para que os desenvolvedores garantam alto desempenho e resiliência das aplicações baseadas na web.
O sistema coletivo permite que os servidores respondam eficientemente com mais conteúdo do que o originalmente solicitado pelos clientes, eliminando a intervenção do usuário para solicitar informações continuamente até que o site seja totalmente carregado no navegador da web. Por exemplo, a capacidade do Server Push com HTTP/2 permite que os servidores respondam com o conteúdo completo de uma página, além das informações já disponíveis no cache do navegador. A compressão eficiente de arquivos de cabeçalho HTTP minimiza a sobrecarga do protocolo para melhorar o desempenho com cada solicitação do navegador e resposta do servidor.
As alterações ao HTTP/2 são projetadas para manter a interoperabilidade e compatibilidade com o HTTP1.1. Espera-se que as vantagens do HTTP/2 aumentem ao longo do tempo com base em experimentos no mundo real e sua capacidade de abordar questões relacionadas ao desempenho em comparação com o HTTP1.1 terá grande impacto em sua evolução a longo prazo.
“…nós não estamos substituindo todo o HTTP – os métodos, códigos de status e a maioria dos cabeçalhos que você usa hoje serão os mesmos. Em vez disso, estamos a redefinir como se usa “no fio” para ser mais eficiente, e para que seja mais suave para a própria Internet”… Mark Nottingham, presidente do Grupo de Trabalho HTTP da IETF e membro do TAG do W3C. Fonte
É importante notar que a nova versão HTTP vem como uma extensão da sua antecessora e não se espera que substitua o HTTP1.1 em breve. A implementação do HTTP/2 não permitirá suporte automático para todos os tipos de criptografia disponíveis com HTTP1.1, mas definitivamente abre a porta para melhores alternativas ou atualizações adicionais de compatibilidade de criptografia em um futuro próximo. Contudo, comparações de recursos como HTTP/2 vs HTTP1 e SPDY vs HTTP/2 apresentam apenas o mais recente protocolo de aplicação como o vencedor em termos de desempenho, segurança e confiabilidade.
O que estava errado com o HTTP1.1?
O HTTP1.1 foi limitado ao processamento de apenas uma solicitação pendente por conexão TCP, forçando os navegadores a usar múltiplas conexões TCP para processar várias solicitações simultaneamente.
Entretanto, o uso de muitas conexões TCP em paralelo leva a um congestionamento TCP que causa uma monopolização injusta dos recursos da rede. Os navegadores Web que utilizam múltiplas conexões para processar solicitações adicionais ocupam uma parcela maior dos recursos de rede disponíveis, o que faz com que o desempenho da rede seja inferior ao de outros usuários.
A emissão de vários pedidos do navegador também causa duplicação de dados nos fios de transmissão de dados, o que, por sua vez, requer protocolos adicionais para extrair a informação desejada livre de erros nos nós finais.
A indústria da internet foi naturalmente forçada a invadir estas restrições com práticas como a fragmentação de domínios, concatenação, inlining de dados e spriting, entre outras. O uso ineficaz das conexões TCP subjacentes com HTTP1.1 também leva a uma má priorização de recursos, causando degradação exponencial do desempenho à medida que as aplicações web crescem em termos de complexidade, funcionalidade e escopo.
A web evoluiu muito além da capacidade das tecnologias de rede baseadas em HTTP legadas. As qualidades essenciais do HTTP1.1 desenvolvidas há mais de uma década abriram as portas para várias falhas embaraçosas de desempenho e segurança.
O Cookie Hack, por exemplo, permite que os criminosos virtuais reutilizem uma sessão de trabalho anterior para comprometer as senhas de contas, pois o HTTP1.1 não oferece facilidades de identificação do ponto final da sessão. Enquanto as preocupações de segurança similares continuarão a assombrar o HTTP/2, o novo protocolo aplicativo foi projetado com melhores capacidades de segurança, como a melhor implementação de novos TLS features.
Atualizações de características do HTTP/2
Fluxos multiplexados
A sequência bidirecional de frames de formato de texto enviados através do protocolo HTTP/2 trocados entre o servidor e o cliente são conhecidos como “streams”. As iterações anteriores do protocolo HTTP eram capazes de transmitir apenas um fluxo de cada vez, juntamente com algum atraso entre cada transmissão de fluxo.
Receber toneladas de conteúdo de mídia através de fluxos individuais enviados um a um é ineficiente e consome recursos. As alterações do HTTP/2 ajudaram a estabelecer uma nova camada de enquadramento binário para responder a estas preocupações.
Esta camada permite ao cliente e ao servidor desintegrar a carga útil do HTTP em sequência de frames pequenos, independentes e manejáveis entre si. Esta informação é então remontada no outro extremo.
Os formatos de quadros binários permitem a troca de múltiplas sequências bi-direcionais, simultaneamente abertas e independentes, sem latência entre fluxos sucessivos. Esta abordagem apresenta um conjunto de benefícios do HTTP/2 explicado abaixo:
- As solicitações e respostas paralelas multiplexadas não se bloqueiam uma à outra.
- Uma única conexão TCP é usada para garantir a utilização eficaz dos recursos da rede, apesar de transmitir vários fluxos de dados.
- Não é necessário aplicar otimizações hacks desnecessárias – como sprites de imagem, concatenação e fragmentação de domínios, entre outras – que comprometem outras áreas de desempenho da rede.
- Latência reduzida, desempenho web mais rápido, melhores classificações nos motores de busca.
- Redução do OpEx e do CapEx na execução de recursos de rede e de TI.
Com esta capacidade, os pacotes de dados de vários fluxos são essencialmente mistos e transmitidos através de uma única ligação TCP. Estes pacotes são então divididos na extremidade receptora e apresentados como fluxos de dados individuais. A transmissão de várias solicitações paralelas simultaneamente usando HTTP versão 1.1 ou anterior exigia múltiplas conexões TCP, o que inerentemente estrangula o desempenho geral da rede, apesar de transmitir mais fluxos de dados a taxas mais rápidas.
Push do Servidor HTTP/2
Esta capacidade permite que o servidor envie ao cliente informações adicionais em cache que não são solicitadas, mas que são antecipadas em pedidos futuros. Por exemplo, se o cliente solicitar o recurso X e for entendido que o recurso Y é referenciado com o arquivo solicitado, o servidor pode optar por empurrar Y junto com X em vez de esperar por um pedido de cliente apropriado.
O cliente coloca o recurso Y empurrado para o seu cache para uso futuro. Este mecanismo poupa uma viagem de ida e volta correspondente a um pedido e reduz a latência da rede. O Server Push foi originalmente introduzido no protocolo SPDY do Google. Os identificadores de fluxo contendo pseudo cabeçalhos como :path permitem ao servidor iniciar o Push para informações que devem ser armazenáveis. O cliente deve permitir explicitamente que o servidor Empurre recursos em cache com HTTP/2 ou termine fluxos empurrados com um identificador de fluxo específico.
Outras alterações do HTTP/2 como o Server Push atualiza ou invalida proativamente o cache do cliente e também é conhecido como “Cache Push”. As consequências a longo prazo centram-se na capacidade dos servidores para identificar possíveis recursos que o cliente realmente não quer.
A implementação do HTTP/2 apresenta um desempenho significativo para recursos empurrados, com outros benefícios do HTTP/2 explicados abaixo:
- O cliente poupa recursos empurrados para o cache.
- O cliente pode reutilizar estes recursos em cache através de diferentes páginas.
- O servidor pode multiplexar recursos junto com as informações solicitadas originalmente dentro da mesma conexão TCP.
- O servidor pode priorizar recursos empurrados – um diferencial de desempenho chave em HTTP/2 vs HTTP1.
- O cliente pode recusar recursos empurrados para manter um repositório efetivo de recursos em cache ou desativar o Server Push por completo.
- O cliente também pode limitar o número de fluxos empurrados multiplexados ao mesmo tempo.
Recursos Push similares já estão disponíveis com técnicas sub-ótimas como Inlining to Push server responses, enquanto o Server Push apresenta uma solução em nível de protocolo para evitar complexidades com hacks de otimização secundários às capacidades de base do próprio protocolo da aplicação.
O HTTP/2 multiplexa e prioriza o fluxo de dados empurrado para garantir um melhor desempenho de transmissão, como visto com outros fluxos de dados de resposta a solicitações. Como mecanismo de segurança integrado, o servidor deve ser autorizado a Empurrar os recursos de antemão.
Protocolos Binários
A última versão HTTP evoluiu significativamente em termos de capacidades, e atributos como a transformação de um protocolo de texto para um protocolo binário. HTTP1.x usado para processar comandos de texto para completar ciclos de resposta de solicitações. HTTP/2 utilizará comandos binários (em 1s e 0s) para executar as mesmas tarefas. Este atributo facilita as complicações com o enquadramento e simplifica a implementação de comandos que foram misturados de forma confusa devido a comandos contendo texto e espaços opcionais.
Embora provavelmente seja necessário mais esforços para ler comandos binários em comparação com comandos de texto, é mais fácil para a rede gerar e analisar frames disponíveis em binário. A semântica real permanece inalterada.
Os navegadores que utilizam a implementação do HTTP/2 converterão os mesmos comandos de texto em binário antes de transmiti-lo pela rede. A camada de enquadramento binário não é retrocompatível com clientes e servidores HTTP1.x e um facilitador chave para benefícios significativos de desempenho sobre SPDY e HTTP1.x. Usando comandos binários para permitir vantagens comerciais chave para empresas de Internet e negócios on-line como detalhado com os benefícios do HTTP/2 explicado abaixo:
- Baixa sobrecarga nos dados de análise – uma proposta de valor crítico em HTTP/2 vs HTTP1.
- Menos propenso a erros.
- Pegada de rede mais leve.
- Utilização eficaz dos recursos da rede.
- Eliminando preocupações de segurança associadas com a natureza textual do HTTP1.x, tais como ataques de divisão de respostas.
- Permite outras capacidades do HTTP/2 incluindo compressão, multiplexação, priorização, controle de fluxo e manuseio eficaz do TLS.
- Representação compacta dos comandos para facilitar o processamento e a implementação.
- Eficiente e robusto em termos de processamento de dados entre cliente e servidor.
- Redução da latência da rede e melhoria do rendimento.
Priorização do fluxo
A implementação do HTTP/2 permite que o cliente dê preferência a determinados fluxos de dados. Embora o servidor não seja obrigado a seguir estas instruções do cliente, o mecanismo permite ao servidor otimizar a alocação de recursos da rede com base nos requisitos do usuário final.
A priorização do fluxo funciona com Dependências e Peso atribuídos a cada fluxo. Embora todos os fluxos sejam intrinsecamente dependentes uns dos outros, com excepção dos fluxos dependentes, também são atribuídos pesos entre 1 e 256. Os detalhes dos mecanismos de priorização de fluxo ainda são debatidos.
No mundo real, porém, o servidor raramente tem controle sobre recursos como CPU e conexões de banco de dados. A própria complexidade da implementação impede que os servidores acomodem os pedidos prioritários do fluxo. A investigação e desenvolvimento nesta área é particularmente importante para o sucesso a longo prazo do HTTP/2, uma vez que o protocolo é capaz de processar múltiplos fluxos de dados com uma única ligação TCP.
Esta capacidade pode levar à chegada simultânea de pedidos de servidor que realmente diferem em termos de prioridade do ponto de vista do usuário final. A retenção de pedidos de processamento de fluxo de dados de forma aleatória mina a eficiência e a experiência do usuário final prometida pelas mudanças do HTTP/2. Ao mesmo tempo, um mecanismo de priorização de fluxo inteligente e amplamente adotado apresenta os benefícios do HTTP/2 explicados a seguir:
- Utilização eficaz dos recursos da rede.
- Redução do tempo de entrega de pedidos de conteúdo primário.
- Melhor velocidade de carregamento de páginas e experiência do usuário final.
- Comunicação de dados otimizada entre cliente e servidor.
- Redução do efeito negativo das preocupações com a latência da rede.
Compressão de Cabeçalho Estatal
Proporcionar experiência de usuário de alta qualidade na web requer sites ricos em conteúdo e gráficos. O protocolo de aplicação HTTP é state-less, o que significa que cada pedido de cliente deve incluir tanta informação quanto o servidor necessita para realizar a operação desejada. Este mecanismo faz com que os fluxos de dados carreguem múltiplos quadros repetitivos de informação, de tal forma que o próprio servidor não tem que armazenar informações de pedidos anteriores do cliente.
No caso de sites que servem conteúdos ricos em mídia, os clientes empurram vários cabeçalhos quase idênticos levando à latência e ao consumo desnecessário de recursos de rede limitados. Uma mistura prioritária de fluxos de dados não pode alcançar os padrões de desempenho desejados de paralelismo sem otimizar este mecanismo.
A implementação do HTTP/2 atende a essas preocupações com a capacidade de comprimir um grande número de quadros de cabeçalho redundantes. Ele usa a especificação HPACK como uma abordagem simples e segura para a compressão de cabeçotes. Tanto o cliente como o servidor mantêm uma lista de cabeçalhos utilizados em solicitações cliente-servidor anteriores.
HPACK comprime o valor individual de cada cabeçalho antes de ser transferido para o servidor, que então procura as informações codificadas na lista de valores de cabeçalho previamente transferidos para reconstruir as informações completas do cabeçalho. A compressão de cabeçalho HPACK para implementação do HTTP/2 apresenta imensas vantagens de desempenho, incluindo alguns benefícios do HTTP/2 explicados abaixo:
- Priorização eficaz do fluxo.
- Utilização eficaz dos mecanismos de multiplexação.
- Redução da sobrecarga de recursos – uma das primeiras áreas de preocupação nos debates sobre HTTP/2 vs HTTP1 e HTTP/2 vs SPDY.
- Codifica cabeçalhos grandes, bem como cabeçalhos normalmente utilizados, o que elimina a necessidade de enviar toda a estrutura do cabeçalho em si. O tamanho de transferência individual de cada fluxo de dados encolhe rapidamente.
- Não vulnerável a ataques de segurança como o CRIME que explora fluxos de dados com cabeçalhos comprimidos.
Semelhanças com HTTP1.x e SPDY
A semântica subjacente da aplicação HTTP, incluindo códigos de status HTTP, URIs, metodologias e arquivos de cabeçalho permanecem os mesmos na última iteração do HTTP/2. O HTTP/2 é baseado no SPDY, a alternativa do Google ao HTTP1.x. As verdadeiras diferenças residem nos mecanismos utilizados para processar as solicitações cliente-servidor. O gráfico seguinte identifica algumas áreas de semelhanças e melhorias entre HTTP1.x, SPDY e HTTP/2:
HTTP1.x | SPDY | HTTP2 |
---|---|---|
SSL não é necessário, mas recomendado. | SSL necessário. | SSL não é necessário, mas recomendado. |
Encriptação lenta. | Encriptação rápida. | Encriptação ainda mais rápida. |
Um pedido cliente-servidor por conexão TCP. | Pedido múltiplo cliente-servidor por conexão TCP. Ocorre em um único anfitrião de cada vez. | Multi-hosting multiplexing. Ocorre em múltiplos anfitriões num único instante. |
Sem compressão de cabeçalho. | Introdução da compressão do cabeçalho. | Compressão do cabeçalho usando algoritmos melhorados que melhoram o desempenho, bem como a segurança. |
Sem priorização de fluxo. | Introduzida a priorização do fluxo. | Melhores mecanismos de priorização de fluxo utilizados. |
Como funciona o HTTP/2 com HTTPS
HTTPS é usado para estabelecer uma rede ultra segura que liga computadores, máquinas e servidores para processar informações sensíveis de negócios e de consumidores. Bancos que processam transações financeiras e instituições de saúde que mantêm registros de pacientes são alvos principais para delitos ciber-criminosos. HTTPS funciona como uma camada eficaz contra ameaças persistentes de crimes cibernéticos, embora não seja a única implementação de segurança usada para afastar ataques cibernéticos sofisticados que infringem redes corporativas de alto valor.
O suporte ao navegador HTTP/2 inclui criptografia HTTPS e realmente complementa o desempenho geral de segurança das implementações HTTPS. Recursos como menos apertos de mão TLS, baixo consumo de recursos tanto no lado do cliente quanto do servidor e recursos aprimorados na reutilização de sessões web existentes, eliminando as vulnerabilidades associadas ao HTTP1.x, apresentam o HTTP/2 como um capacitador essencial para a segurança da comunicação digital em ambientes de rede sensíveis.
HTTPS não se limita a organizações de alto perfil e a segurança cibernética é igualmente valiosa para proprietários de empresas online, blogueiros casuais, comerciantes de comércio eletrônico e até mesmo usuários de mídias sociais. O HTTP/2 requer inerentemente a versão mais recente e segura do TLS e todas as comunidades online, proprietários de empresas e webmasters devem garantir que seus sites utilizam HTTPS por padrão.
Os processos habituais para configurar HTTPS incluem o uso de planos de hospedagem web, a compra, ativação e instalação de um certificado de segurança e finalmente a atualização do site para usar HTTPS.
Os Principais Benefícios do HTTP/2
A indústria da Internet teve que substituir o HTTP1.x envelhecido por uma alternativa promissora de vantagens para o usuário médio. A transição do HTTP1.x para o HTTP/2 é quase inteiramente baseada na maximização do potencial dos avanços tecnológicos para atender a essas expectativas. Da perspectiva dos negócios on-line e dos consumidores da Internet, a web está ficando mais lenta à medida que fica populada com volumes cada vez maiores de conteúdo rico em mídia irrelevante. Para que os negócios on-line alcancem seu mercado alvo de forma eficaz e para que os usuários da Internet acessem melhor conteúdo web mais rapidamente, as mudanças do HTTP/2 são desenvolvidas para aumentar a eficiência na comunicação de dados cliente-servidor. E, além disso, a web está mais situacional do que nunca.
A velocidade da Internet não é a mesma em todas as redes e localizações geográficas. A base de usuários cada vez mais móvel exige uma Internet de alto desempenho em todos os formatos de dispositivos, mesmo que as redes celulares congestionadas não possam competir com a Internet de banda larga de alta velocidade. Um mecanismo de rede e comunicação de dados completamente renovado e revisado na forma do HTTP/2 surgiu como uma solução viável com as seguintes vantagens significativas.
Desempenho Web
O termo resume todas as vantagens das alterações do HTTP/2. Os resultados do benchmark HTTP/2 (ver no capítulo: Comparação de benchmarks de desempenho de HTTPS, SPDY e HTTP/2) demonstram as melhorias de desempenho do HTTP/2 em relação aos seus predecessores e alternativas.
A capacidade do protocolo de enviar e receber mais dados por ciclo de comunicação cliente-servidor não é um hack de otimização, mas uma vantagem real, realizável e prática do HTTP/2 em termos de desempenho. A analogia é semelhante à idéia de trens tubulares a vácuo (Vactrain) em comparação com o trem padrão: eliminar a resistência do ar dos túneis Vactrain permite que o veículo viaje mais rápido e transporte mais passageiros com melhor utilização dos canais disponíveis sem ter que se concentrar na instalação de motores maiores, reduzindo o peso e tornando o veículo mais aerodinâmico.
Tecnologias como o Multiplexing criam espaço adicional para transportar e transmitir mais dados simultaneamente – como os compartimentos de vários andares no avião Airbus.
E o que acontece quando o mecanismo de comunicação de dados elimina todos os obstáculos para melhorar o desempenho da web? O subproduto do desempenho superior do website inclui maior satisfação do cliente, melhor otimização dos mecanismos de busca, alta produtividade e utilização de recursos, expansão da base de usuários, melhor sales figures e muito mais.
Felizmente, a adoção do HTTP/2 é muito mais prática do que criar câmaras de vácuo para grandes locomotivas de vários andares.
Desempenho da Web móvel
Milhões de usuários de internet acessam a web a partir de seus dispositivos móveis como um gateway principal para o mundo cibernético. A era Post PC alimentou a adoção de smartphones para acessar serviços baseados na Web a partir da palma da mão, e realizar most of the mundane computing tasks on the go instead of sitting in front of desktop computers por períodos prolongados de tempo.
O HTTP/2 foi projetado no contexto das tendências atuais de uso da web. Capacidades como multiplexação e compressão de cabeçalhos funcionam bem para reduzir a latência no acesso a serviços de Internet em redes de dados móveis que oferecem largura de banda limitada por usuário. O HTTP/2 otimiza a experiência web para usuários móveis com alto desempenho e segurança anteriormente atribuídos apenas ao uso da Internet desktop. As vantagens do HTTP/2 para usuários móveis prometem impacto positivo imediato na forma como as empresas on-line têm como alvo os clientes no mundo cibernético.
Internet mais barata
O custo da internet tem mergulhado rapidamente desde o início da World Wide Web. A expansão do acesso à web e o aumento da velocidade da internet sempre foi o objetivo com os avanços nas tecnologias de internet. Enquanto isso, as melhorias de custos parecem ter sido estranguladas, especialmente considerando as alegações que envolvem o monopólio dos provedores de serviços de telecomunicações.
O HTTP/2 promissor aumento de rendimento e maior eficiência na comunicação de dados permitirá aos fornecedores de telecomunicações reduzir as despesas operacionais, mantendo os padrões da Internet de alta velocidade. O OpEx reduzido incentivará os provedores de serviços a reduzir os preços para o mercado de baixo custo e introduzir níveis de serviço de alta velocidade para o modelo de preços existente.
Alcance Expansivo
Os mercados asiáticos e africanos, densamente povoados, continuam mal servidos, com acesso limitado à Internet a preços acessíveis. Os provedores de serviços de Internet focam seus investimentos para obter os maiores retornos dos serviços oferecidos apenas para locais urbanos e desenvolvidos. As vantagens do HTTP/2, levando à adoção em larga escala do protocolo de aplicação avançado, reduzirão naturalmente o congestionamento da rede para poupar recursos e largura de banda para localizações geográficas distantes e mal servidas.
Experiência rica em mídia
A experiência moderna na web tem tudo a ver com a entrega de conteúdos ricos em mídia à velocidade de carregamento de páginas. Os utilizadores da Internet exigem, ostensivamente, conteúdos e serviços ricos em media, atualizados regularmente. O custo da infra-estrutura subjacente, mesmo entregue via nuvem como uma solução baseada em assinatura, nem sempre é acessível para empresas iniciantes na Internet. As vantagens e recursos tecnológicos do HTTP/2, como o Header Compression, podem não diminuir o tamanho real do arquivo, mas barbear alguns bytes de sobrecarga de tamanho para transmitir conteúdo rico em mídia consumidora de recursos entre cliente e servidores.
Experiência móvel melhorada
Empresas online progressivas seguem uma estratégia de Mobile-First para atingir efetivamente a base de usuários móveis em explosão. As limitações de hardware dos dispositivos móveis são talvez o maior constrangimento à experiência na Web móvel impactada pelo tempo prolongado de processamento dos pedidos do navegador. O HTTP/2 reduz os tempos de carga e a latência da rede móvel para níveis gerenciáveis.
Melhor Utilização da Tecnologia
O consumo de recursos aumentou significativamente para pedidos de browser de processamento de clientes e servidores para fornecer conteúdo de mídia social rica em mídia e designs web complexos. Embora os desenvolvedores web tenham trabalhado em torno de hacks de otimização apropriados, uma solução robusta e confiável na forma do HTTP/2 era inevitável. Recursos como compressão de cabeçalho, push de servidor, dependências de fluxo e multiplexação contribuem para uma melhor utilização da rede como uma vantagem chave do HTTP/2.
Segurança
As vantagens do HTTP/2 vão além do desempenho, pois o algoritmo HPACK permite que o HTTP/2 contorne as ameaças de segurança prevalecentes que visam protocolos de camada de aplicação baseados em texto. O HTTP/2 contém comandos em binário e permite a compressão dos metadados do cabeçalho HTTP seguindo uma abordagem ‘Segurança por Obscuridade’ para proteger os dados sensíveis transmitidos entre clientes e servidores. O protocolo também possui suporte total à criptografia e requer uma versão melhorada da camada de segurança de transporte (TLS1.2) para uma melhor proteção de dados.
Inovação
O HTTP/2 incorpora a inovação e o conceito de web de alto desempenho. O HTTP/2 sustenta o mundo cibernético como o conhecemos hoje, e as mudanças do HTTP/2 são baseadas principalmente no protocolo SPDY do Google, que deu grandes saltos à frente das versões antigas do HTTP1.x e irá substituir quase inteiramente o SPDY, bem como todas as iterações HTTP anteriores num futuro próximo. Riddance de complexos hacks de otimização web apresenta o suporte ao navegador HTTP/2 como uma solução viável para que os desenvolvedores web produzam sites e serviços on-line de alto desempenho.
Vantagem do HTTP/2 SEO
A disciplina do marketing SEO está algures entre a arte e a ciência. As práticas tradicionais de SEO de chapéu preto não conseguem manipular as classificações dos motores de busca seguindo algoritmos proprietários cada vez mais complexos usados pelos motores de busca populares. As empresas online precisam de desenvolver as suas táticas de marketing em conformidade. Investimentos mais inteligentes na forma de implementação de websites bem desenhados e não apenas optimizados for speed but built for superior performance, segurança e experiência do utilizador a partir do zero. Estes atributos são preferidos como meio de retornar consultas de pesquisa com as informações e serviços mais precisos, convenientemente acessíveis em um público-alvo global.
Os processos padronizados da indústria para otimização de mecanismos de busca vão além das táticas de marketing front-end e abrangem todo o ciclo de vida da comunicação cliente-servidor. Os SEOs que já foram a base das equipes do mercado de internet não estão desfrutando das mesmas posições desde o advento das últimas tecnologias de comunicação digital. Entre eles, a prevalência do HTTP/2 marca uma mudança tectônica fundamental, forçando os desenvolvedores e marqueteiros web a voltarem para a mesa de desenho.
Implementar e otimizar a infra-estrutura para HTTP/2 e as promissoras vantagens de desempenho é agora um capacitador crítico para a otimização de mecanismos de busca. As empresas online sem uma base de usuários orgânica adequada não podem se dar ao luxo de negligenciar o HTTP/2 e o impulso SEO resultante enquanto competem em impérios de negócios online sempre crescentes por razões de inovação e serviço online de alto valor classificado ainda mais alto com a implementação do HTTP/2 no lado do servidor.
Comparação de benchmarks de desempenho de HTTPS, SPDY e HTTP/2
As seguintes comparações de benchmark de desempenho entre HTTPS, SPDY e HTTP/2 retratam uma imagem clara das melhorias de desempenho da web com o mais recente protocolo de aplicação.
Os resultados do benchmark HTTP/2 confirmam as ideias que a compressão do cabeçalho, o server push e outros mecanismos usados especificamente para melhorar a velocidade da página e a experiência do utilizador entregam consistentemente no mundo real:
Detalhes do teste: Este teste comparando HTTPS, SPDY3.1 e HTTP/2 apresenta os seguintes resultados:
- Tamanho do pedido do cliente e cabeçalhos de resposta do servidor: Os benchmarks HTTP/2 demonstram como o uso do mecanismo de compressão do cabeçalho reduz significativamente o tamanho do cabeçalho, enquanto o SPDY apenas reduz o cabeçalho usado na resposta do servidor para esta solicitação em particular. HTTPS não reduz o tamanho do cabeçalho tanto no comando de pedido como no de resposta.
- Tamanho da mensagem de resposta do servidor: Embora a resposta do servidor HTTP/2 fosse maior em tamanho, ela fornece criptografia mais forte para melhorar a segurança como um tradeoff de chave.
- Número de ligações TCP utilizadas: HTTP/2 e SPDY utilizam menos recursos de rede processando múltiplas solicitações simultâneas (multiplexing) e, portanto, reduzem a latência.
- Velocidade de carregamento da página: HTTP foi consistentemente mais rápido que SPDY. HTTPS foi significativamente mais lento devido à falta de compressão de cabeçalho e capacidades de “push” do servidor.
A preparar-se para uma Internet melhor: Suporte e Disponibilidade do Navegador HTTP/2
O HTTP/2 já está disponível com servidor web, navegador e suporte móvel adequados. Tecnologias rodando HTTP1.x não são comprometidas ao implementar o HTTP/2 para seu site, mas requerem uma rápida atualização para suportar o novo protocolo. Você pode considerar protocolos de rede como línguas faladas. A comunicação com novas línguas só é possível desde que seja adequadamente compreendida. Da mesma forma, o cliente e o servidor devem ser atualizados para suportar a comunicação de dados usando o protocolo HTTP/2.
Suporte ao Cliente
Os consumidores de Internet não precisam se preocupar em configurar seus navegadores desktop e móveis para suportar o HTTP/2. O Google Chrome e o Firefox suportam a tecnologia há anos e a Apple adicionou suporte ao navegador HTTP/2 ao navegador Safari em 2014. O Internet Explorer requer que os usuários executem o Windows 8 para suportar o protocolo de aplicação mais recente.
Os principais navegadores móveis, incluindo o navegador Android, Chrome para Android e iOS, assim como o Safari no iOS 8 e superior, suportam HTTP/2 para acesso à web móvel. Os usuários de Internet são aconselhados a instalar os últimos lançamentos estáveis de navegadores web móveis e desktop para experimentar o máximo desempenho e vantagens de segurança do protocolo da aplicação, como visto nos benchmarks HTTP/2.
Suporte a Servidores Web: Apache e Nginx
Os provedores de serviços online que executam servidores no local ou na nuvem terão de atualizar e configurar servidores web para adicionar suporte ao HTTP/2. Na Kinsta já modificamos os nossos servidores de acordo, é claro! Considerando a analogia da linguagem falada descrita anteriormente, os visitantes da Internet que acedem a informações fornecidas a partir destes servidores só podem utilizar o HTTP/2 desde que o servidor web seja atualizado e configurado para este fim.
Os servidores Nginx que constituem 66% de todos os servidores web ativos possuem suporte nativo ao HTTP/2 enquanto os servidores Apache utilizam o mod_spdy module para oferecer suporte ao navegador HTTP/2. O módulo foi desenvolvido pela Google para suportar funcionalidades SPDY como multiplexação e compressão de cabeçalhos para servidores Apache 2.2 e o software é agora doado à Apache Software Foundation.
Como você pode começar a usar o HTTP/2
Siga estes simples passos para configurar o HTTP/2 para o seu site.
Passo 1
- Certifique-se de que o HTTPS está ativado: Adquira um certificado SSL ou TLS a uma autoridade emissora válida, ou utilize o SSL gratuito da Let’s Encrypt se disponível.
- Ativar o certificado de segurança.
- Instale o Certificado.
- Atualize o site para ativar o protocolo HTTPS.
Para os clientes Kinsta
Se você é um cliente Kinsta, a instalação de um certificado SSL pode ser feita com um único clique.
Passo 2
Certifique-se de que a infra-estrutura de rede subjacente, incluindo o software do servidor, suporta HTTP/2. Os servidores Nginx suportam HTTP/2 nativamente, enquanto o Apache adicionou suporte nativo em outubro de 2015 (em 2.4), o que significa que os servidores apache podem requerer módulos adicionais para habilitar a comunicação de dados usando o suporte ao navegador HTTP/2.
Nota: O HTTP/2 está habilitado por padrão em Kinsta para todos os sites rodando sobre HTTPS.
Passo 3
Atualize, configure e teste os seus servidores para suportar o HTTP/2. Isto resource descreve o procedimento de configuração e teste dos servidores Apache. Contacte o seu fornecedor de alojamento web para garantir que o HTTP/2 está pronto para o seu site.
Passo 4
Use isto tool para verificar se você configurou corretamente o HTTP/2.
Resumo
A dominação e supremacia do HTTP/2 no mundo cibernético é inevitável. O protocolo da aplicação parece estar pronto para levar adiante o legado do HTTP1.x que transformou o mundo cibernético com capacidades revolucionárias de transmissão de dados. O HTTP/2 sucede aos seus predecessores com superioridade tecnológica muito maior do que a lacuna de inovação que o HTTP1.x estabeleceu contra os mecanismos tradicionais de comunicação de dados na época.
Entretanto, habilitar o HTTP/2 é apenas um passo da jornada expansiva para melhorar a velocidade da página. Esta cartilha Kinsta intitulada “A Beginner’s Guide to Website Speed Optimization” descreve como construir para a velocidade, lidar com gargalos de desempenho e vantagens comerciais estratégicas associadas a um desempenho web superior.
Deixe um comentário