Metodologias de Programação IV - Aula 2, Secção 3 - Terminologia do protocolo HTTP
HTTP/2
-
Upload
gabriell-nascimento -
Category
Internet
-
view
39 -
download
0
Transcript of HTTP/2
HTTP/2
Gabriell Nascimento
HTTP/2
● Nova versão do HTTP● Protocolo de comunicação● Baseado no SPDY
SPDY: Objetivos
● 50% menos tempo de carregamento● Evitar mudanças em websites e infra● Open source● Métricas reais de performance
A Web mudou muito desde 1997
Várias funcionalidades legais no HTTP/2!
Várias funcionalidades legais no HTTP/2!Mas não vai matar tudo que já existe!
● Multiplexação de mensagens● Conexão TCP única
Funcionalidades
HTTP/1.1
Hi there!
I’m HTTP/1.1 only :)
http://http2.example.com
Cliente Servidor
Conexão
Stream
HTTP/2
Mensagem (Requisição)
Mensagem (Resposta)
…
QuadroQuadro
QuadroQuadro Quadro
HTTP/2
stream 5DATA
Hi there!
I’m HTTP/2 :D
http://http2.example.com
… stream 1
DATAstream 3
HEADERSstream 3
DATAstream 1
DATA
Conexão HTTP/2Cliente Servidor
● Controle de fluxo● Priorização de stream
Funcionalidades
HTTP/2
*
D1
E8
C8
B12
A4
raíz implícita
streampeso
● Server push
Funcionalidades
HTTP/2
stream 1DATA
Hi there!
I’m HTTP/2 :D
http://http2.example.com stream 2PUSH_
PROMISE
stream 4PUSH_
PROMISE
stream 1HEADERS
stream 4DATA
Conexão HTTP/2Cliente Servidor
…
stream 1: /index.html (requisição)stream 2: /style.css (push)stream 4: /script.js (push)
● Compressão de cabeçalho (HPACK)
Funcionalidades
HTTP/2
:method GET
:scheme https
:host example.com
:path /index.html
user-agent Mozilla/5.0…
foo bar
1 :authority
2 :method GET
… … …
51 referer
… … …
64 user-agent Mozilla/5.0…
65 host example.com
2
7
65
19 Huffman(“/index.html”)
64
Huffman(“foo”)
Huffman(“bar”)
cabeçalhos de requisiçãotabela estática
tabela dinâmica
cabeçalhos codificados
● Camada binária
Funcionalidades
HTTP/2
Bit 0..7 8..15 16..23 24..31
0 Tamanho do quadro Tipo do quadro
32 Flags
40 Reservado Identificador do stream
… Payload do quadro
E já dá pra usar?
Suporte
● Principais navegadores ✓● Servidores web:
o Apache ✓o Tomcat ✓o Nginx ✗
● Websites ±
Mais informações
http://chimera.labs.oreilly.com/books/1230000000545/ch12.html
Obrigado!