Categorias

Alex Soares, executivo da Exceda, fala sobre o protocolo HTTP/2

Depois de 16 anos de trabalhos, a primeira atualização do protocolo HTTP finalmente foi concluída no meio de fevereiro deste ano.

Desde 1999, o Hypertext Transfer Protocol está estagnado na versão 1.1. Mas agora, com o HTTP/2 finalizado, é apenas uma questão de tempo para que sejam feitas revisões e ajustes editorais e ele seja finalmente publicado como o novo padrão de protocolo e adotado em todos os navegadores e serviços web em todo o mundo.

AlexSoares
Alex Soares, arquiteto sênior de inovação da Exceda

Mas o que o futuro reserva para o novo protocolo? E como ele funciona exatamente? Conversamos nessa semana com Alex Soares, o arquiteto sênior de inovação da Exceda, uma das líderes brasileiras em soluções de segurança e web performance para empresas que utilizam a internet como ferramenta de negócios.

Vem conferir:

Gostaríamos de falar um pouco mais sobre a tecnologia, saber como o HTTP/2 funciona.

As novidades técnicas sobre o novo protocolo de internet são:

– Protocolo binário com tipos de frames definidos e identificados, o que permite que mais requisições e respostas sejam atendidas ao mesmo tempo. Ainda, o navegador pode cancelar uma requisição de “server push” (explicação mais abaixo) caso o objeto já exista em seu cache.

– Multiplexação das requisições: No HTTP/1.1, enquanto uma requisição está sendo processada e atendida pelo servidor, outras requisições ficam à espera da primeira ser atendida e, para amenizar esse problema, abrem-se mais conexões. Já com o HTTP/2 isso não é preciso, pois uma conexão suporta todas as requisições e respostas ao mesmo tempo.

– Compressão de cabeçalhos: toda requisição a qualquer recurso web leva consigo uma gama de informações que a parametriza para que seja atendida por um servidor. Esse texto (no formato de parâmetro: valor) acaba por se repetir tanto nas requisições quanto nas respostas, essa compressão faz com que menos bytes trafeguem em ambas as direções, agilizando todo o processo.

– Server push: recurso que permite que servidores enviem conteúdo aos navegadores antes mesmo de tal conteúdo seja requisitado. A aplicação poderá ser instruída com uma listagem com todos os objetos que podem vir a ser requisitados pelo navegador – a qual pode ser priorizada. Uma vez que o navegador requisite uma página, o servidor poderá enviar todos os objetos associados e popular o cache do usuário para que a página carregue mais rapidamente.

– Portas: o novo protocolo utilizará as mesmas portas TCP do atual HTTP/1.1, e fará uso de alguns mecanismos já existentes (ex: Upgrade de conexão, Application Level Protocol Negotiation [ALPN], entre outros) para poder ser implementado sobre a mesma infraestrutura que existe hoje em funcionamento.

Quais os principais benefícios do novo protocolo e suas principais diferenças, com relação a versão HTTP 1.1?

Todas e nenhuma.

Todas porque tecnicamente o HTTP/2 utiliza novas premissas, como por exemplo, ser um protocolo binário com definições estritas sobre seu funcionamento, elaborado para ser entendido por máquinas e não mais humanos; enquanto o HTTP/1.1 é totalmente textual, permitindo conectar-se a um servidor e manualmente digitar as requisições, isso não será possível com HTTP/2. Essa nova iteração do protocolo mais básico da web vai remover antigos bloqueios de performance criados pelo HTTP/1.1 – até mesmo devido a falta de revisão periódica, afinal esse protocolo mais básico da internet já tem 24 anos de idade e não recebe uma revisão há 16 e a web de hoje é definitivamente diferente da web de ontem!

Nenhuma porque se mantém os mesmos métodos, schemas, semântica, URLs, etc. Assim, a migração acontece de forma transparente para quem desenvolve aplicações e sites e para quem navega por eles.

Dois dos principais browsers do mercado já sinalizaram que, assim que possível, passarão a utilizar o HTTP/2. Como essa mudança vai impactar “a web atual”? O que precisará ser feito para passar a utilizar o novo protocolo?

Por ser baseado no protocolo SPDY (desenvolvido como testbed de novas ideias pelo Google e usado como base para o HTTP/2) esses browsers que já suportavam seu uso adotaram uma versão draft de implementação do protocolo HTTP/2 (pois o padrão final ainda não foi publicado). Um exemplo comparando os dois protocolos pode ser encontrado no site: https://http2.golang.org/gophertiles

Apesar de não requerido pelos drafts, sua implementação está sendo feita pelo Google e pela Mozilla apenas sobre TLS, o que deve direcionar o mercado nesse sentido. Isso para facilitar a migração, já que existem muitos intermediários na internet (proxies de ISPs e Telcos, prestadores de serviço e CDNs) que possuem equipamentos e aplicações que precisarão ser atualizados para entender a nova versão e isso levará tempo e investimento. Ainda, utilizando TLS esses intermediários apenas fazem o transporte do conteúdo, sem a necessidade de leitura o que aumenta a segurança dos usuários, pois a transmissão de suas informações fica mais protegida.

O impacto se dá na experiência dos usuários, que terão melhor aproveitamento de suas conexões à internet e maior rapidez no acesso a conteúdo, e no aproveitamento da infraestrutura de internet existente. Ainda, novos modelos de negócios podem surgir em função das novas facilidades do protocolo.

Já existe uma previsão para utilização em massa do novo protocolo?

Não há previsão e nem deve haver. A adoção não será algo do gênero “foi dormir HTTP/1.1 e acordou HTTP/2”, até mesmo em função da atualização necessária para que todos falem a mesma língua, e não há uma determinação para uso do novo protocolo. A adoção será orgânica à medida que os usuários atualizarem seus browsers para versões que suportem o HTTP/2 e que os provedores de conteúdo e toda a indústria da internet suportem o mesmo em seus sites e equipamentos.

Vimos que a Exceda é uma gigante no mercado de aceleração e distribuição de conteúdo Web. Como ela vem se preparando para a utilização do HTTP/2?

Estamos diretamente ligados ao desenvolvimento do novo protocolo e nossos serviços permitirão que nossos clientes entreguem conteúdo sobre HTTP/2 de forma transparente e sem custo adicional. Ainda que sua infraestrutura e suas aplicações não estejam prontas para o uso do novo protocolo, faremos a tradução de um protocolo para o outro de forma que os usuários notarão apenas que a velocidade de resposta do site aumentou.

Adicionalmente, buscamos educar nossos clientes sobre os benefícios de performance e segurança associados ao novo protocolo e o que poderemos fazer para auxilia-los nessa transição, se preciso for.

Quais os benefícios relacionados à adoção do novo protocolo?

– Melhora de performance para carregamento dos sites: as métricas de negócio são mais facilmente atingidas o que traz ganhos em todas as indústrias que tem na internet seu core business. Estudos apontam que quanto mais rápidas as páginas carregam mais conversões são realizadas. Isso significa mais ad views, maior permanência nos sites, mais visibilidade, maior valor por CPM; maior qualidade de streaming, maior audiência, maior adoção, maior economia de escala, mais eventos online e maiores possibilidades de negócio.

– Eficiência da infraestrutura: com o uso do protocolo binário e multiplexação, a conexão TCP é melhor utilizada e economiza banda, permitindo maior economia e melhor utilização das conexões de internet dos usuários.

– Melhor uso da infraestrutura atual: prove maior retorno sobre o investimento feito em equipamentos que terão maior sobrevida devido à melhor utilização de recursos.

– Criptografia: provê maior segurança com os dados dos usuários e empresas.

– Novos modelos de negócios: possibilidades relacionados a Internet das Coisas, por exemplo.

Para quem tem seus negócios baseados na internet, é importante começar a discutir com seus fornecedores sobre os planos que eles têm para adoção da nova tecnologia.