Neomind
  • Início
  • Assuntos
    • Casos de Sucesso
    • Design
    • Documentos/ECM
    • Fusion Platform
    • Inovação & TI
    • A Neomind
    • Materiais Educativos
    • Processos/BPM
    • Webinars
  • A Neomind
  • Materiais Gratuitos
  • Contato
  • Português
    • Inglês
Neomind
  • Início
  • Assuntos
    • Casos de Sucesso
    • Design
    • Documentos/ECM
    • Fusion Platform
    • Inovação & TI
    • A Neomind
    • Materiais Educativos
    • Processos/BPM
    • Webinars
  • A Neomind
  • Materiais Gratuitos
  • Contato
  • Português
    • Inglês
  • Siga-nos

Conheça as diferenças entre HTTP/1.1 e HTTP/2

Por Cristiano Cordeiro14/01/2019 em Inovação & TI, 2 comentários
HTTP/2

Acrônimo para Hypertext Transfer Protocol, o HTTP é o protocolo utilizado para enviar e receber informações na web, sendo baseado em requisições e respostas entre clientes e servidores. O funcionamento básico é o seguinte: o cliente — navegador ou dispositivo que fará a requisição — solicita um determinado recurso, enviando um pacote de informações contendo alguns cabeçalhos a uma URL. O servidor recebe essas informações e retorna uma resposta.

Como tudo começou

O HTTP tem sido usado desde 1991. A primeira versão do protocolo, chamada HTTP/0.9, era um protocolo simples para a transferência de dados no formato de texto ASCII pela Internet. A versão HTTP/1.0 foi liberada em 1996 com a finalidade de suprir a necessidade de transferir não apenas texto. Passou-se a considerar dados mais ricos, metadados da requisição e resposta e negociação de conteúdo, por exemplo.

A terceira versão, 1.1, foi disponibilizada em 1999. Seu lançamento é considerado um marco e define o padrão da Internet. O protocolo HTTP/1.1, além de resolver inúmeras ambiguidades da versão 1.0, inseriu melhorias críticas de performance.

A partir dos anos 2000, através do boom na utilização da Internet, a quantidade de dispositivos conectados a ela cresceu exponencialmente. Com esse crescimento exorbitante surgiu a necessidade de melhorias de performance. Foi assim que em 2009 nasceu o SPDY, um protocolo criado por engenheiros da Google para avançarem nos problemas de performance do HTTP/1.1.

Esses movimentos chamaram a atenção do HTTP Working Group (HTTP-WG). Em 2015, 16 anos após o lançamento do HTTP/1.1, surgiu o HTTP/2. Sem alterar a semântica do protocolo, as melhorias significativas são na performance de transporte das informações além de uma latência menor e maior rendimento.

Principais características do HTTP/2

Para entender melhor sobre o HTTP/2, observe as características a seguir.

Única conexão e multiplexação

O HTTP/1.1 é um protocolo sequencial, onde o navegador abre apenas uma conexão TCP, solicita um arquivo, e somente após recebê-lo solicita o próximo. Se um arquivo é muito grande, ou o processamento por parte do servidor for muito lento, pode travar o carregamento da página. Para minimizar isto, os navegadores normalmente abrem múltiplas conexões, entre 6 e 8, por servidor. Já no HTTP/2, uma conexão TCP será persistente e precisará somente de uma por origem, onde requisições e respostas paralelas poderão requisitar/receber todos os arquivos necessários.

Isso traz uma redução no consumo de processamento e memória, uma redução no custo operacional das redes e uma maior capacidade de uso. O resultado é uma redução de latência na rede e redução de custo em hardware e software.

Multiplexação

Camada de enquadramento binário

Este é o núcleo de todas as melhorias de desempenho de HTTP/2, que determina como as mensagens HTTP são encapsuladas e transferidas entre o cliente e o servidor. Foi redesenhado o mecanismo de codificação sem alterar a semântica dos métodos, verbos e cabeçalhos. A comunicação é quebrada em frames, em uma única conexão TCP.

Enquadramento Binário

Priorização de requisições

Possibilita ao navegador requisitar todos os elementos quando descobertos, comunicando ao servidor sua intenção de priorizar algum deles. Isto é feito através das dependências e pesos das streams. Pode-se citar um exemplo onde são requisitados arquivos CSS e arquivos JS, onde no HTTP/2 o comportamento do navegador será de priorizar primeiro os arquivos CSS, mesmo que sua requisição na ordem do DOM venha depois dos JS.

Priorização de requisições

Server Push

Permite ao servidor enviar múltiplas respostas ao cliente, a partir de uma única requisição, sem que o cliente tenha solicitado explicitamente. Imagine o cenário: o navegador de internet requisita o arquivo HTML da página; o servidor responde com o arquivo requisitado e já envia também o arquivo CSS, JavaScript, ícones e outras coisas mais.

Server Push

Compressão automática

As requisições HTTP possuem cabeçalhos com informações importantes sobre o recurso e suas propriedades. Com o HTTP/2 os cabeçalhos são comprimidos através do algoritmo HPACK, reduzindo assim o tamanho de cada transferência, além de manter e atualizar uma lista indexada de campos de cabeçalhos vistos anteriormente. Além disso, a compressão de dados através do GZIP, que precisa ser habilitada no HTTP/1.1, se torna padrão na versão 2.

Compressão automática

Segurança e criptografia de dados

O protocolo HTTP/2 foi implementado para trabalhar com ou sem criptografia. No entanto, os principais navegadores declararam que irão suportar HTTP/2 somente com criptografia, sendo necessário então a utilização de um certificado SSL.

Dados criptografados

Conclusão

Aplicações web como o Fusion Cloud, através da implementação do HTTP/2, estão mostrando melhoras de desempenho significativas, apresentando uma grande diferença no tempo de carregamento das páginas, possibilitando assim uma redução de custos com hardware e melhor experiência de navegação para os usuários.


Referências:
Wikipedia, Google Web Fundamentals, KingHost, HPBN, Apiki.


Share on FacebookShare on Twitter

Cristiano Cordeiro

Desenvolvedor de software na equipe de Inovação da Neomind, é formado em Tecnologia em Análise e Desenvolvimento de Sistemas pela Universidade do Estado de Santa Catarina (Udesc). Atua na área de desenvolvimento web há 6 anos.

2 comentários

Jefferson Romano

novembro 29, 2021

Conteúdo muito bom! Parabéns pela forma como abordou o assunto.

Responder

VITO NETO

abril 19, 2022

Conteúdo excelente!
Além de me tirar muitas dúvida e me ajudar a entender melhor sobre o assunto, as ilustrações ajudaram muito, ficou muito claro. Parabéns pelo conteúdo.

Responder

Deixe um comentário Cancelar resposta

Postagens relacionadas

Capa Artigo No-code

No-code: entenda o que é e suas vantagens

Por Felipe Borba17/03/2025Deixe um comentário
Capa Artigo Assinatura Híbrida

Assinatura híbrida: o que é e como funciona

Por Felipe Borba26/02/2025Deixe um comentário
capa-neomind-agile-trands

Neomind marcará presença no Agile Trends 2025, maior evento de agilidade no Brasil

Por Felipe Borba08/01/2025Deixe um comentário
capa-Hiperautomação BPM RPA e IA

Hiperautomação: BPM, RPA e IA

Por Felipe Borba08/01/2025Deixe um comentário

Leia também

  • DMN: o que é Decision Model and Notation
  • No-code: entenda o que é e suas vantagens
  • Como a tipologia documental do Fusion Platform ajuda na gestão dos seus documentos
  • Assinatura híbrida: o que é e como funciona
  • Redesenho de processos em 4 passos

  • Empresa
  • Consultoria
  • Conteúdos
  • Suporte e Atendimento

© 2022 Neomind. Todos os direitos reservados.