SlideShare uma empresa Scribd logo
1 de 22
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 5
DATA
Hi there!
I’m HTTP/2 :D
http://http2.example.com
…
stream 1
DATA
stream 3
HEADERS
stream 3
DATA
stream 1
DATA
Conexão HTTP/2Cliente Servidor
● Controle de fluxo
● Priorização de stream
Funcionalidades
HTTP/2
*
D
1
E
8
C
8
B
12
A
4
raíz implícita
stream
peso
● Server push
Funcionalidades
HTTP/2
stream 1
DATA
Hi there!
I’m HTTP/2 :D
http://http2.example.com stream 2
PUSH_
PROMISE
stream 4
PUSH_
PROMISE
stream 1
HEADERS
stream 4
DATA
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ção
tabela 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!

Mais conteúdo relacionado

Semelhante a HTTP/2

gRPC - uma breve introdução.pdf
gRPC - uma breve introdução.pdfgRPC - uma breve introdução.pdf
gRPC - uma breve introdução.pdfMatheus Donizete
 
Aula05 camada de aplicação
Aula05 camada de aplicaçãoAula05 camada de aplicação
Aula05 camada de aplicaçãoTiago Tda
 
Apresentação tdc como aproveitar os novos recursos do java ee 7
Apresentação tdc   como aproveitar os novos recursos do java ee 7Apresentação tdc   como aproveitar os novos recursos do java ee 7
Apresentação tdc como aproveitar os novos recursos do java ee 7Denis Silva
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)elliando dias
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBelliando dias
 
2016-redes-E.pptx
2016-redes-E.pptx2016-redes-E.pptx
2016-redes-E.pptxssssssss23
 
gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?Yago Tomé
 
Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Liliana Costa
 
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)Fabiano Weimar
 
HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.Waldyr Felix
 
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishEscalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishLucas Brasilino
 
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...Leonel Morgado
 
Descobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceDescobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceGustavo Ciello
 
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...fabio perrella
 

Semelhante a HTTP/2 (20)

HTTP 2
HTTP 2HTTP 2
HTTP 2
 
gRPC - uma breve introdução.pdf
gRPC - uma breve introdução.pdfgRPC - uma breve introdução.pdf
gRPC - uma breve introdução.pdf
 
Aula05 camada de aplicação
Aula05 camada de aplicaçãoAula05 camada de aplicação
Aula05 camada de aplicação
 
Apresentação tdc como aproveitar os novos recursos do java ee 7
Apresentação tdc   como aproveitar os novos recursos do java ee 7Apresentação tdc   como aproveitar os novos recursos do java ee 7
Apresentação tdc como aproveitar os novos recursos do java ee 7
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)
 
Como funciona a internet
Como funciona a internetComo funciona a internet
Como funciona a internet
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEB
 
2016-redes-E.pptx
2016-redes-E.pptx2016-redes-E.pptx
2016-redes-E.pptx
 
O get and post para etico hacker
O get and post para etico hackerO get and post para etico hacker
O get and post para etico hacker
 
gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?gRPC: Por que você ainda usa REST?
gRPC: Por que você ainda usa REST?
 
Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Http (hyper text transfer protocol)
Http (hyper text transfer protocol)
 
Testando jwebserver
Testando jwebserver Testando jwebserver
Testando jwebserver
 
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
 
HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.HTTP/2. O que você precisa saber a nova versão do HTTP.
HTTP/2. O que você precisa saber a nova versão do HTTP.
 
http
httphttp
http
 
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishEscalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
 
Protocolo Http
Protocolo HttpProtocolo Http
Protocolo Http
 
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...
Metodologias de Programação IV - Aula 2, Secção 1 - Conceito de aplicação cli...
 
Descobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceDescobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performance
 
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
 

HTTP/2