HTTP/2: o que você deve saber? \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 02 Horas 

 28 Min 

 35 Seg 

   Tempo restante da oferta: 02 28 35 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) HTTP/2: o que você deve saber?  [ Tecnologia ](https://www.treinaweb.com.br/blog/categoria/tecnologia) 

# HTTP/2: o que você deve saber?

 Confira neste artigo um pouco mais sobre o protocolo HTTP 2.

 [ Marylene Guedes ](https://www.treinaweb.com.br/blog/autor/marylene-guedes) 7 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/07/11161236/capa-http2.png)  

O protocolo HTTP é um protocolo importante, já que ele é a base da internet e das aplicações web na maneira que conhecemos hoje. E, como a maioria das tecnologias que são extensamente utilizadas, ele evoluiu. Sendo assim, temos uma nova versão do HTTP: o HTTP/2. Antes de tudo, caso não conheça o protocolo HTTP, sugerimos a leitura do artigo [“O que é HTTP, Request, GET, POST, Response, 200, 404?”.](https://www.treinaweb.com.br/blog/o-que-e-http-request-get-post-response-200-404/ "“O que é HTTP, Request, GET, POST, Response, 200, 404?”."), onde os princípios básicos do protocolo HTTP são abordados. Mas, de forma bem resumida, o HTTP é um protocolo de transferência de arquivos e dados, que vão de um servidor até o cliente (navegador) que solicita estes arquivos e dados.

[  ![Amazon Web Services (AWS) - S3 - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/aws.svg)   Curso Amazon Web Services (AWS) - S3 - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/amazon-web-services-aws-simple-storage-service-s3-fundamentos)

## O protocolo HTTP/2

Já de início, devemos ressaltar que o HTTP/2 não muda a semântica do HTTP/1: tudo continua da mesma forma que já conhecemos, com seus verbos e status HTTP. O HTTP/2 foi desenvolvido para resolver alguns problemas que existiam na versão 1.1, principalmente com relação à performance. A maior parte das mudanças dizem respeito à forma que os recursos são transportados entre o cliente e o servidor, tornando esse processo muito mais performático, mesmo em cenários com múltiplas requisições simultâneas.

O HTTP/2 implementa um formato de entrega mais eficiente, acelerando o carregamento das páginas e elementos de uma aplicação web. Este é a principal vantagem que temos na utilização do HTTP/2. Mas ainda existem outras vantagens interessantes, que serão abordadas a seguir.

### Multiplexação de mensagens

No HTTP/1, uma conexão é utilizada para baixar um único arquivo, tornando o processo de download de conteúdo algo sequencial. Ou seja: os recursos serão baixados uns atrás dos outros, até que essa “fila de downloads” acabe. Com isso, se um arquivo é muito grande e o servidor ficar lento no meio do processo de download, a página pode acabar passando por um congelamento. Mas o HTTP/2 implementou a multiplexação de mensagens. Com a multiplexação, o navegador não precisa mais ficar esperando receber um recurso para poder requisitar os recursos seguintes. Com o HTTP/2, o navegador pode solicitar e ter a resposta de vários recursos de forma paralela através de apenas uma conexão.

[  ![React Native - Armazenamento de arquivos com Firebase Storage](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/react-native.svg)   Curso React Native - Armazenamento de arquivos com Firebase Storage Conhecer o curso ](https://www.treinaweb.com.br/curso/react-native-armazenamento-de-arquivos-com-firebase-storage)

### Server Push

Outra funcionalidade bem interessante é o *Server Push*. Com o HTTP/1.1 (versão anterior do protocolo), o navegador abria uma conexão para baixar cada item da página, se estivermos considerando a carga de uma página web: era uma conexão para baixar o CSS, outra conexão para baixar o JavaScript, e assim por diante, até que todo conteúdo vinculado à página fosse baixado completamente. Se estivermos falando de uma aplicação web que precisa de muitos recursos para ser renderizada, esse processo pode ser um pouco demorado… Já no HTTP/2, o servidor pode enviar recursos ao cache do navegador **antes** mesmo que o cliente o solicite! Com isso, é possível disponibilizar recursos (como arquivos JavaScript, CSS, imagens e outros recursos comumente utilizados por uma aplicação web) logo durante a interpretação do HTML.

### Compressão de cabeçalho (HPACK)

Toda transferência contém um cabeçalho com diversas informações que descreve o recurso que está sendo transferido. Para reduzir a carga e melhorar o desempenho, o HTTP/2 utiliza um algoritmo chamado HPACK para compressão desse cabeçalho, gerando requisições mais leves e, consequentemente, fazendo com que os recursos sejam carregados mais rapidamente.

### Priorização de requisições

O HTTP/1.1 tem dificuldade nesse quesito de priorizar requisições. Uma página web é composta por vários elementos. Estes elementos podem ter prioridades diferentes de carregamento no que diz respeito à carga de um recurso. Por exemplo: se estivermos falando de uma página web, não faz sentido que o CSS seja carregado antes de que o HTML esteja disponível. O HTTP/2 soluciona este problema, já que é possível definir prioridades para os recursos a serem carregados por uma página web, por exemplo. Isso nos possibilitaria instruir o browser a baixar um arquivo CSS que poderia causar bloqueios no processo de renderização da página, caso fosse baixado tardiamente, com uma ordem de prioridade superior aos demais recursos.Esse tipo de priorização não existe no protocolo HTTP/1.1.

### Obrigação na utilização de SSL (HTTPS)

Para adotar o HTTP/2, o uso de SSL se torna obrigatório. Isso em termos práticos quer dizer que todo conteúdo trafegado em conexões HTTP/2 estará criptografado com certificados SSL (HTTPS).

## O nível atual de adoção do protocolo HTTP/2

Os principais navegadores (como o Chrome, Firefox, Safari e Edge) já oferecem suporte ao HTTP/2. É necessário que os clientes também suportem o HTTP/2 para que seja possível utilizá-lo. Alguns servidores famosos (como o Apache, Tomcat e Nginx) também já suportam o HTTP 2. Caso queira ver uma lista completa, você pode acessar por este link no [GitHub.](https://github.com/http2/http2-spec/wiki/Implementations "GitHub.")

Para que você perceba a diferença do HTTP/1.1 e do HTTP/2 na prática, você pode abrir o [HTTP 2 - Technology Demo.](http://www.http2demo.io/ "HTTP 2 - Technology Demo.") Lá, existe um exemplo de um download de uma foto composta por 200 pequenas imagens através do protocolo HTTP/1.1 e através do protocolo HTTP/2. Nesse cenário, a melhor performance do protocolo HTTP/2 é explícita.

[  ![Desenvolvedor Front-end Júnior](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/html5-css3.svg)   Formação Desenvolvedor Front-end Júnior Conhecer a formação ](https://www.treinaweb.com.br/formacao/desenvolvedor-front-end-junior)

- [ #HTTP ](https://www.treinaweb.com.br/blog/tag/http)
- [ #Performance ](https://www.treinaweb.com.br/blog/tag/performance)
- [ #melhorias ](https://www.treinaweb.com.br/blog/tag/melhorias)

Autor

 ![Marylene Guedes](//secure.gravatar.com/avatar/5b0ba52b3705f298802db58782656bbc?d=mm)

## Marylene Guedes

 Responsável pelo sucesso do cliente na TreinaWeb. Graduada em Gestão de Tecnologia da Informação pela FATEC Guaratinguetá, além de estudante de UX/UI. 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/marylene-guedes)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/07/29063540/git-2-400x280.png)  [ Git ](https://www.treinaweb.com.br/blog/categoria/git) 

     7 anos atrás

    ##  [ Comandos do Git que você precisa conhecer - Parte 2 - Repositórios Remotos ](https://www.treinaweb.com.br/blog/comandos-do-git-que-voce-precisa-conhecer-parte-2-repositorios-remotos) 

     Conheça comandos e truques do Git que facilitarão o seu trabalho ao lidar com repositórios remotos. Aprenda também a criar um repositório remoto em sua rede local.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/SERVIDOR-HTTP-EXPRESS-JS-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     6 anos atrás

    ##  [ Criando um servidor HTTP com Express ](https://www.treinaweb.com.br/blog/criando-um-servidor-http-com-express) 

     O Express é um framework utilizado em conjunto com o Node.js. Ele possui características que facilitam o desenvolvimento de nossas aplicações web e APIs, como um sistema de rotas completo, tratamento de exceções, gerenciamento de requisições HTTP e muito mais.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/04/30153008/HTTP-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     8 anos atrás

    ##  [ O que é HTTP, Request, GET, POST, Response, 200, 404? ](https://www.treinaweb.com.br/blog/o-que-e-http-request-get-post-response-200-404) 

     Aprenda nesse post de forma simples e direta os principais conceitos HTTP que sempre teve dúvida, porém nunca teve coragem de perguntar, como request, response, métodos e códigos HTTP.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/netdata-400x280.png)  [ Computação em nuvem ](https://www.treinaweb.com.br/blog/categoria/computacao-em-nuvem) 

     6 anos atrás

    ##  [ Monitorar o Nginx com o Netdata ](https://www.treinaweb.com.br/blog/monitorar-o-nginx-com-o-netdata) 

     Veja como você pode monitorar as conexões ao servidor Nginx e aos seus logs de acesso com o Netdata.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/08/01172547/NET-CORE-3-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     7 anos atrás

    ##  [ .NET Core 3.0 - Criando tarefas de segundo plano com Worker Service ](https://www.treinaweb.com.br/blog/net-core-3-0-criando-tarefas-de-segundo-plano-com-worker-service) 

     Você já quis criar tarefas em segundo plano com o .NET Core? Na versão 3.0 foi introduzido o template Worker Service que facilita a criação deste tipo de aplicação. Caso tenha passado por uma situação assim, neste artigo mostramos como você pode aproveitar este novo recurso do .NET Core 3.0.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/08/24120107/streams-400x280.jpg)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     7 anos atrás

    ##  [ Streams no PHP ](https://www.treinaweb.com.br/blog/streams-no-php) 

     Você, desenvolvedor PHP, já teve a oportunidade de trabalhar mais intimamente com Streams? Se você já teve ou não, esse artigo é pra você! Uma introdução ao essencial sobre o assunto.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/02/27165123/DJANGO-HEROKU-400x280.png)  [ Computação em nuvem ](https://www.treinaweb.com.br/blog/categoria/computacao-em-nuvem) 

     8 anos atrás

    ##  [ Deploy de uma aplicação Django no Heroku ](https://www.treinaweb.com.br/blog/deploy-de-uma-aplicacao-django-no-heroku) 

     Então você criou sua aplicação Django e não sabe como disponibilizá-la na nuvem? Veja neste artigo todo o processo para realizar o Deploy de uma aplicação Django no Heroku.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/HTTPS-400x280.png)  [ Segurança da Informação ](https://www.treinaweb.com.br/blog/categoria/seguranca-da-informacao) 

     7 anos atrás

    ##  [ Termos comuns de segurança: HTTPS ](https://www.treinaweb.com.br/blog/termos-comuns-de-seguranca-https) 

     Com certeza, ao navegar na internet, você já viu no começo da URL o protocolo HTTPS. Mas, você sabe para que serve e como funciona esse protocolo?

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/web-2185247_640-400x280.jpg)  [ Web Services ](https://www.treinaweb.com.br/blog/categoria/web-services) 

     10 anos atrás

    ##  [ REST não é simplesmente retornar JSON: indo além com APIs REST ](https://www.treinaweb.com.br/blog/rest-nao-e-simplesmente-retornar-json-indo-alem-com-apis-rest) 

     Criar uma API REST não tem a ver com retornar JSON e sim com a correta utilização do protocolo HTTP.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/09/o-que-e-cdn-content-delivery-network-400x280.png)  [ Computação em nuvem ](https://www.treinaweb.com.br/blog/categoria/computacao-em-nuvem) 

     6 anos atrás

    ##  [ O que é CDN (Content Delivery Network)? ](https://www.treinaweb.com.br/blog/o-que-e-cdn-content-delivery-network) 

     Vamos conhecer nesse artigo o que é um CDN, como ele funciona, quais suas vantagens e os principais serviços do mercado que entregam soluções de CDN para você usar nas suas aplicações.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/08/14131229/HEALTH-CHECKS-400x280.png)  [ C# ](https://www.treinaweb.com.br/blog/categoria/csharp) 

     7 anos atrás

    ##  [ Verificando a integridade da aplicação ASP.NET Core com Health Checks ](https://www.treinaweb.com.br/blog/verificando-a-integridade-da-aplicacao-asp-net-core-com-health-checks) 

     Verificar e monitorar a integridade de uma aplicação web é algo essencial, principalmente em ambientes distribuídos. O ASP.NET Core facilita esta tarefa através de Health Checks, como você verá neste artigo.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/09/17130351/HTTPS-DEV-TEST-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     7 anos atrás

    ##  [ Automatizando a geração de certificados SSL locais para ambientes de desenvolvimento ](https://www.treinaweb.com.br/blog/automatizando-a-geracao-de-certificados-ssl-locais-para-ambientes-de-desenvolvimento) 

     Veja como automatizar a geração de certificados SSL e usar no servidor do seu ambiente de desenvolvimento.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **02h 28min 35s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
