{"id":11380,"date":"2017-04-27T10:31:13","date_gmt":"2017-04-27T13:31:13","guid":{"rendered":"https:\/\/king.host\/blog\/?p=11380"},"modified":"2025-09-26T14:37:32","modified_gmt":"2025-09-26T17:37:32","slug":"o-que-e-o-http2-e-quais-os-seus-beneficios","status":"publish","type":"post","link":"https:\/\/king.host\/blog\/glossario\/o-que-e-o-http2-e-quais-os-seus-beneficios\/","title":{"rendered":"O que \u00e9 o HTTP2 e quais os seus benef\u00edcios?"},"content":{"rendered":"<p>O HTTP2 \u00e9 uma tecnologia que surgiu em decorr\u00eancia de um projeto anterior, o protocolo experimental SPDY desenvolvido pelo Google. O objetivo era diminuir a lat\u00eancia de carregamento das p\u00e1ginas web atrav\u00e9s da redu\u00e7\u00e3o dos principais problemas encontrados no HTTP\/1.1.<\/p>\n<p>Os aprendizados que o time de profissionais tiveram com o SPDY, tiveram grande impacto na constru\u00e7\u00e3o do novo protocolo HTTP2. Para esclarecermos os principais pontos relacionados a essa evolu\u00e7\u00e3o, entrevistamos o Analista de Infraestrutura da KingHost, Filipe Cifali, que trabalhou diretamente na implanta\u00e7\u00e3o do HTTP2 em nossos servidores. Hoje, gra\u00e7as \u00e0s inova\u00e7\u00f5es que ser\u00e3o apresentadas nessa entrevista, o novo protocolo entrega mais rapidez, simplicidade e robustez \u00e0s aplica\u00e7\u00f5es web.<\/p>\n<p>O HTTP2 est\u00e1 dispon\u00edvel para todos os clientes KingHost em <a href=\"https:\/\/king.host\/blog\/2017\/04\/hospedagem-microsoft-com-windows-server-2016-e-iis-10-0\/\" target=\"_blank\" rel=\"noopener\">plataforma Windows 2016<\/a> e Linux utilizando Apache 2.4 ou Nginx 1.11. Al\u00e9m disso, para ativar o acesso HTTP2 no seu site \u00e9 necess\u00e1rio ter um certificado digital ativo no site, que pode ser o Let\u2019s Encrypt, e abrir chamado solicitando o servi\u00e7o.<\/p>\n<p>Se voc\u00ea quer saber o que \u00e9 o HTTP2 e como ele pode beneficiar os seus projetos acompanhe a entrevista abaixo.<\/p>\n<h3>Entrevista sobre HTTP2:<\/h3>\n<p><b>O que \u00e9 o HTTP2? Qual os objetivos desse projeto?<\/b><\/p>\n<p>HTTP2 \u00e9 uma vers\u00e3o nova do protocolo HTTP\/1.1 que \u00e9 usado pela internet amplamente para servidores e sites. Ele permite a conversa padronizada entre cliente, em geral os navegadores, e servidor, que \u00e9 onde fica armazenado o conte\u00fado enviado quando um site \u00e9 acessado.<\/p>\n<p><b>Qual a diferen\u00e7a entre HTTP1 e HTTP2?<\/b><\/p>\n<p>HTTP2 apesar de manter muitas das interfaces antigas do protocolo, conseguiu inovar bastante em rela\u00e7\u00e3o a HTTP\/1.1 permitindo que aplica\u00e7\u00f5es utilizem m\u00e9todos como multiplexing em TCP para realizar diversas requisi\u00e7\u00f5es. O novo protocolo tamb\u00e9m aproveita op\u00e7\u00f5es como a prioriza\u00e7\u00e3o de requisi\u00e7\u00f5es e compress\u00e3o de cabe\u00e7alho entre outras op\u00e7\u00f5es.<\/p>\n<p><b>Quais os principais benef\u00edcios dessa tecnologia?<\/b><\/p>\n<ul>\n<li>A necessidade de uso do HTTPS ou HSTS em sites, o HTTP2 funciona apenas utilizando um certificado digital para os navegadores.<\/li>\n<li>Compress\u00e3o de cabe\u00e7alhos<\/li>\n<li>HTTP\/2 Server Push<\/li>\n<\/ul>\n<p><b>Como funciona a otimiza\u00e7\u00e3o da entrega de conte\u00fado atrav\u00e9s do HTTP2?<\/b><\/p>\n<p>Quando um navegador acessa um site, ele precisa fazer uma requisi\u00e7\u00e3o inicial e depois uma s\u00e9rie de conex\u00f5es subsequentes para receber o conte\u00fado da p\u00e1gina, desde receber as imagens at\u00e9 as folhas de estilo que modelam como a p\u00e1gina ser\u00e1 apresentada. Depois de renderizar o conte\u00fado todo, ele aparece no navegador. A otimiza\u00e7\u00e3o da entrega de conte\u00fado permite que algumas aplica\u00e7\u00f5es enviem o conte\u00fado necess\u00e1rio para a exibi\u00e7\u00e3o de uma p\u00e1gina de maneira antecipada, quando o cliente fizer a requisi\u00e7\u00e3o inicial, ele j\u00e1 ir\u00e1 receber uma s\u00e9rie de requisi\u00e7\u00f5es m\u00ednimas necess\u00e1rias.<\/p>\n<p><b>Como exemplo podemos pensar no seguinte cen\u00e1rio em HTTP\/1.1:<\/b><\/p>\n<p>cliente requisita site.com.br\/index.html<\/p>\n<p>servidor envia o arquivo index.html para o cliente<\/p>\n<p>cliente processa index.html<\/p>\n<p>cliente ent\u00e3o requisita site.com.br\/estilo.css<\/p>\n<p>cliente ent\u00e3o requisita site.com.br\/menu.js<\/p>\n<p>cliente ent\u00e3o requisita site.com.br\/header.png<\/p>\n<p>servidor envia o arquivo estilo.css para o cliente<\/p>\n<p>servidor envia o arquivo menu.js para o cliente<\/p>\n<p>servidor envia o arquivo header.png para o cliente<\/p>\n<p>cliente processa a p\u00e1gina completa (index.htm+menu.js+estilo.css+header.png)<\/p>\n<p>Onde no HTTP2 ocorreria a seguinte sequ\u00eancia:<\/p>\n<p>cliente requisita site.com.br\/index.html<\/p>\n<p>servidor envia o arquivo index.html para o cliente<\/p>\n<p>servidor sabe que j\u00e1 precisa enviar estilo.css<\/p>\n<p>servidor sabe que j\u00e1 precisa enviar menu.js<\/p>\n<p>cliente processa index.html<\/p>\n<p>cliente ent\u00e3o requisita site.com.br\/header.png<\/p>\n<p>servidor envia o arquivo header.png para o cliente<\/p>\n<p>cliente processa a p\u00e1gina completa (index.htm+menu.js+estilo.css+header.png)<\/p>\n<p><b>A diferen\u00e7a est\u00e1 justamente na ordem de recebimento dos arquivos<\/b> , dependendo da p\u00e1gina, como por exemplo, portais de not\u00edcias, ir\u00e1 existir in\u00fameras imagens distribu\u00eddas que podem ser carregadas e alinhadas depois do processamento dos arquivos de estilo da p\u00e1gina, tornando a experi\u00eancia do usu\u00e1rio mais amig\u00e1vel.<\/p>\n<p><b>O que \u00e9 o Server Push?<\/b><\/p>\n<p>Server Push \u00e9 a habilidade do servidor de enviar conte\u00fado ao cliente sem que ele tenha requisitado aquele conte\u00fado ainda. Com as mudan\u00e7as que ocorreram no protocolo, a comunica\u00e7\u00e3o passou a ser feita atrav\u00e9s de quadros dentro de fluxos de conex\u00e3o permitindo com que o desenvolvedor possa enviar algum conte\u00fado antes mesmo do cliente ter feito a requisi\u00e7\u00e3o. Essa funcionalidade \u00e9 vantajosa quando se deseja ter uma intera\u00e7\u00e3o mais din\u00e2mica com o usu\u00e1rio.<\/p>\n<p><b>J\u00e1 \u00e9 poss\u00edvel usar o HTTP2 em todos os navegadores?<\/b><\/p>\n<p>Os principais navegadores em suas vers\u00f5es mais recentes j\u00e1 contam com o suporte ativado. Assim, \u00e9 essencial dispor de servidores que possam servir o conte\u00fado atrav\u00e9s do novo protocolo. Alguns navegadores inclusive exibem a forma de acesso em suas ferramentas de an\u00e1lise de rede.<\/p>\n<p><b>O site que estiver hospedado em um servidor com HTTP2 perder\u00e1 acessos que vierem de navegadores sem o suporte?<\/b><\/p>\n<p>Sim, o servidor sabe conversar tanto em HTTP\/2 quanto HTTP\/1.1 de maneira transparente, o que ocorre \u00e9 que o navegador primeiro ir\u00e1 tentar a conex\u00e3o HTTP\/2 por padr\u00e3o e caso o servidor n\u00e3o saiba responder ela, ele ir\u00e1 transformar a requisi\u00e7\u00e3o em HTTP\/1.1 automaticamente sem precisar ter uma nova conex\u00e3o.<\/p>\n<p><b>Existem benef\u00edcios de seguran\u00e7a com HTTP2? Ele requer encripta\u00e7\u00e3o?<\/b><\/p>\n<p>O HTTP2 pode ser usado em modo h2c para clientes espec\u00edficos, o que n\u00e3o for\u00e7a a necessidade de um certificado, mas esta forma n\u00e3o \u00e9 aceita por nenhum navegador dispon\u00edvel, todos usam somente &#8216;h2&#8217; que \u00e9 o HTTP2 sobre encripta\u00e7\u00e3o, obrigando a necessidade de um certificado digital como Let&#8217;s Encrypt para que o protocolo seja de fato utilizado.<\/p>\n<p><b>Concluindo<\/b><\/p>\n<p>Com o HTTP2 as melhorias s\u00e3o transparentes, pois para aproveitar os benef\u00edcios voc\u00ea n\u00e3o precisar\u00e1 alterar seu site ou aplica\u00e7\u00e3o, mesmo com a mudan\u00e7a de acesso, eles continuaram funcionando normalmente. Al\u00e9m do seu site rodar sem interrup\u00e7\u00e3o, ele provavelmente funcionar\u00e1 com melhor desempenho e de forma mais segura.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O HTTP2 \u00e9 uma tecnologia que surgiu em decorr\u00eancia de um projeto anterior, o protocolo experimental SPDY desenvolvido pelo Google. O objetivo era diminuir a lat\u00eancia de carregamento das p\u00e1ginas web atrav\u00e9s da redu\u00e7\u00e3o dos principais problemas encontrados no HTTP\/1.1. Os aprendizados que o time de profissionais tiveram com o SPDY, tiveram grande impacto na [&hellip;]<\/p>\n","protected":false},"author":253,"featured_media":11038,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1308],"tags":[1363],"class_list":["post-11380","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-glossario","tag-tecnologia"],"_links":{"self":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/11380","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/users\/253"}],"replies":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/comments?post=11380"}],"version-history":[{"count":4,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/11380\/revisions"}],"predecessor-version":[{"id":42401,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/11380\/revisions\/42401"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/media\/11038"}],"wp:attachment":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/media?parent=11380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/categories?post=11380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/tags?post=11380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}