http/2

Post on 18-Aug-2015

39 Views

Category:

Internet

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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!

top related