HTTP 2.0
Daniel Cardoso da Silva
Seminário de Redes de Computadores - 30/11/2013
Rede de Computadores - Turma 1656L
Sistemas para Internet
Introdução
HTTP 2.0 é a nova versão do protocolo HTTP
que está sendo especificada pelo HTTPbis
Working Group do IETF (Internet Engineering
Task Force).
História
● HTTP 1.1 (RFC 2616) - 1999;
● SPDY (White paper) - 11/2009;
● Call for Proposals for HTTP 2.0 - 2012;
○ SPDY
○ HTTP Speed+Mobility
○ Network-Friendly HTTP Upgrade

● HTTP 2.0 (Draft 00) - 11/2012;
● HTTP 2.0 (Draft 08, Editor's copy) - 11/2013;
Objetivos
● Permitir o uso mais eficiente dos recursos
de rede;
● Reduzir a latência;
● Implementar Server Push;
HTTP 1.1

HTTP 2.0

● O HTTP 2.0 é retrocompatível com o HTTP
1.1, mantendo toda a semântica das
transações.
● A forma de formatação e transporte de
dados entre cliente/servidor/cliente foi
modificada.
● Aplicações atuais continuarão funcionando.
HTTP 1.1

HTTP 2.0

● Binary Framing Layer
HTTP 1.1

HTTP 2.0

● Streams, Messages, and Frames
○ Stream: fluxo bidirecional de bytes dentro da
conexão estabelecida;
○ Message: o mapeamento da sequência completa de
frames;
○ Frame: a menor unidade de uma comunicação no
HTTP 2.0. Contém em seu cabeçalho um
identificador do stream ao qual pertence.
HTTP 1.1

HTTP 2.0

● Streams, Messages, and Frames
HTTP 1.1

HTTP 2.0

● Multiplexing
HTTP 1.1

HTTP 2.0

● Multiplexing
HTTP 1.1

HTTP 2.0

● Multiplexing
HTTP 1.1

HTTP 2.0

● Header compression
HTTP 1.1

HTTP 2.0

● Server Push
HTTP 1.1

HTTP 2.0

● Upgrade
1. Requisição inicial, usando HTTP 1.1
com header de upgrade para HTTP
2.0;
2. Frame SETTINGS do HTTP 2.0;
3. O servidor recusa o upgrade e
responde usando HTTP 1.1;
4. O servidor aceita o upgrade, troca o
protocolo e responde já usando HTTP
2.0;
Benefícios? x Desvantagens?
● Benefícios
○ Elimina a necessidade de técnicas usadas
atualmente (minificação, concatenação, sprites,
domain sharding, …);
○ Utiliza melhor recursos como CPU e memória
(em ambos, cliente e servidor);
Benefícios? x Desvantagens?
● Desvantagens
○ Em uma perda de pacotes, a janela deslizante
do TCP diminui e pode vir à bloquear a
transmissão dos demais pacotes, aumentando a
latência.
Conclusão
O HTTP 2.0 contribuirá para o aumento de
performance das aplicações, cuidando de
otimizações que hoje somente são possíveis
na camada de aplicação.
Bibliografia
●
●
●
●

WIKIPEDIA -- The Free Encyclopedia. HTTP 2.0. Disponível em <http://en.wikipedia.org/wiki/HTTP_2.0>.
Acesso em: 12 de Nov. 2013.
WIKIPEDIA -- The Free Encyclopedia. SPDY. Disponível em <http://en.wikipedia.org/wiki/SPDY>. Acesso em:
12 de Nov. 2013.
HTTPbis Working Group. Hypertext Transfer Protocol version 2.0. Disponível em <http://http2.github.io/http2spec/>. Acesso em: 16 Nov. 2013.
GRIGORIK, I. High Performance Browser Networking. Sebastopol, CA: O’Reilly Media, Inc., 2013. O’Reilly
Atlas. Web. 22 Nov. 2013. <http://chimera.labs.oreilly.com/books/1230000000545/index.html>.

Http 2.0

  • 1.
    HTTP 2.0 Daniel Cardosoda Silva Seminário de Redes de Computadores - 30/11/2013 Rede de Computadores - Turma 1656L Sistemas para Internet
  • 2.
    Introdução HTTP 2.0 éa nova versão do protocolo HTTP que está sendo especificada pelo HTTPbis Working Group do IETF (Internet Engineering Task Force).
  • 3.
    História ● HTTP 1.1(RFC 2616) - 1999; ● SPDY (White paper) - 11/2009; ● Call for Proposals for HTTP 2.0 - 2012; ○ SPDY ○ HTTP Speed+Mobility ○ Network-Friendly HTTP Upgrade ● HTTP 2.0 (Draft 00) - 11/2012; ● HTTP 2.0 (Draft 08, Editor's copy) - 11/2013;
  • 4.
    Objetivos ● Permitir ouso mais eficiente dos recursos de rede; ● Reduzir a latência; ● Implementar Server Push;
  • 5.
    HTTP 1.1 HTTP 2.0 ●O HTTP 2.0 é retrocompatível com o HTTP 1.1, mantendo toda a semântica das transações. ● A forma de formatação e transporte de dados entre cliente/servidor/cliente foi modificada. ● Aplicações atuais continuarão funcionando.
  • 6.
    HTTP 1.1 HTTP 2.0 ●Binary Framing Layer
  • 7.
    HTTP 1.1 HTTP 2.0 ●Streams, Messages, and Frames ○ Stream: fluxo bidirecional de bytes dentro da conexão estabelecida; ○ Message: o mapeamento da sequência completa de frames; ○ Frame: a menor unidade de uma comunicação no HTTP 2.0. Contém em seu cabeçalho um identificador do stream ao qual pertence.
  • 8.
    HTTP 1.1 HTTP 2.0 ●Streams, Messages, and Frames
  • 9.
  • 10.
  • 11.
  • 12.
    HTTP 1.1 HTTP 2.0 ●Header compression
  • 13.
  • 14.
    HTTP 1.1 HTTP 2.0 ●Upgrade 1. Requisição inicial, usando HTTP 1.1 com header de upgrade para HTTP 2.0; 2. Frame SETTINGS do HTTP 2.0; 3. O servidor recusa o upgrade e responde usando HTTP 1.1; 4. O servidor aceita o upgrade, troca o protocolo e responde já usando HTTP 2.0;
  • 15.
    Benefícios? x Desvantagens? ●Benefícios ○ Elimina a necessidade de técnicas usadas atualmente (minificação, concatenação, sprites, domain sharding, …); ○ Utiliza melhor recursos como CPU e memória (em ambos, cliente e servidor);
  • 16.
    Benefícios? x Desvantagens? ●Desvantagens ○ Em uma perda de pacotes, a janela deslizante do TCP diminui e pode vir à bloquear a transmissão dos demais pacotes, aumentando a latência.
  • 17.
    Conclusão O HTTP 2.0contribuirá para o aumento de performance das aplicações, cuidando de otimizações que hoje somente são possíveis na camada de aplicação.
  • 18.
    Bibliografia ● ● ● ● WIKIPEDIA -- TheFree Encyclopedia. HTTP 2.0. Disponível em <http://en.wikipedia.org/wiki/HTTP_2.0>. Acesso em: 12 de Nov. 2013. WIKIPEDIA -- The Free Encyclopedia. SPDY. Disponível em <http://en.wikipedia.org/wiki/SPDY>. Acesso em: 12 de Nov. 2013. HTTPbis Working Group. Hypertext Transfer Protocol version 2.0. Disponível em <http://http2.github.io/http2spec/>. Acesso em: 16 Nov. 2013. GRIGORIK, I. High Performance Browser Networking. Sebastopol, CA: O’Reilly Media, Inc., 2013. O’Reilly Atlas. Web. 22 Nov. 2013. <http://chimera.labs.oreilly.com/books/1230000000545/index.html>.