Como o HTTP/2 vai mudar sua vida

Preview:

Citation preview

HTTP/2

@sergio_caelum sergiolopes.org

review

HTTP em 5 slides

$  telnet  www.caelum.com.br  80  Trying  64.233.171.121...  Connected  to  ghs.googlehosted.com.  Escape  character  is  '^]'.  

GET  /  HTTP/1.1  Host:  www.caelum.com.br  

HTTP/1.1  200  OK  Content-­‐Type:  text/html;  charset=utf-­‐8  Vary:  Accept-­‐Encoding,User-­‐Agent  Content-­‐Language:  pt-­‐br  Date:  Thu,  03  Apr  2014  18:37:18  GMT  Server:  Google  Frontend  Cache-­‐Control:  private  

<!DOCTYPE  html><html><head><title>Caelum</title>

$  telnet  www.caelum.com.br  80  Trying  64.233.171.121...  Connected  to  ghs.googlehosted.com.  Escape  character  is  '^]'.  

GET  /  HTTP/1.1  Host:  www.caelum.com.br  

HTTP/1.1  200  OK  Content-­‐Type:  text/html;  charset=utf-­‐8  Vary:  Accept-­‐Encoding,User-­‐Agent  Content-­‐Language:  pt-­‐br  Date:  Thu,  03  Apr  2014  18:37:18  GMT  Server:  Google  Frontend  Cache-­‐Control:  private  

<!DOCTYPE  html><html><head><title>Caelum</title>

TEXTO

REQUEST

RESPONSE

$  telnet  www.caelum.com.br  80  Trying  64.233.171.121...  Connected  to  ghs.googlehosted.com.  Escape  character  is  '^]'.  

GET  /  HTTP/1.1  Host:  www.caelum.com.br  

HTTP/1.1  200  OK  Content-­‐Type:  text/html;  charset=utf-­‐8  Vary:  Accept-­‐Encoding,User-­‐Agent  Content-­‐Language:  pt-­‐br  Date:  Thu,  03  Apr  2014  18:37:18  GMT  Server:  Google  Frontend  Cache-­‐Control:  private  

<!DOCTYPE  html><html><head><title>Caelum</title>

REQUEST

RESPONSE... ESPERA ...

$  telnet  www.caelum.com.br  80  Trying  64.233.171.121...  Connected  to  ghs.googlehosted.com.  Escape  character  is  '^]'.  

GET  /  HTTP/1.1  Host:  www.caelum.com.br  

HTTP/1.1  200  OK  Content-­‐Type:  text/html;  charset=utf-­‐8  Vary:  Accept-­‐Encoding,User-­‐Agent  Content-­‐Language:  pt-­‐br  Date:  Thu,  03  Apr  2014  18:37:18  GMT  Server:  Google  Frontend  Cache-­‐Control:  private  

<!DOCTYPE  html><html><head><title>Caelum</title>

MÉTODO E URL

STATUS

RESPOSTA

$  telnet  www.caelum.com.br  80  Trying  64.233.171.121...  Connected  to  ghs.googlehosted.com.  Escape  character  is  '^]'.  

GET  /  HTTP/1.1  Host:  www.caelum.com.br  

HTTP/1.1  200  OK  Content-­‐Type:  text/html;  charset=utf-­‐8  Vary:  Accept-­‐Encoding,User-­‐Agent  Content-­‐Language:  pt-­‐br  Date:  Thu,  03  Apr  2014  18:37:18  GMT  Server:  Google  Frontend  Cache-­‐Control:  private  

<!DOCTYPE  html><html><head><title>Caelum</title>

HEADERS

HEADERS

$  telnet  www.caelum.com.br  80  Trying  64.233.171.121...  Connected  to  ghs.googlehosted.com.  Escape  character  is  '^]'.  

GET  /  HTTP/1.1  Host:  www.caelum.com.br  

HTTP/1.1  200  OK  Content-­‐Type:  text/html;  charset=utf-­‐8  Vary:  Accept-­‐Encoding,User-­‐Agent  Content-­‐Language:  pt-­‐br  Date:  Thu,  03  Apr  2014  18:37:18  GMT  Server:  Google  Frontend  Cache-­‐Control:  private  

<!DOCTYPE  html><html><head><title>Caelum</title>

httptexto

request > espera > responseheaders

cliente servidor

cliente servidor

HTTP 1.1

CONEXÃO TCP

REQUEST

REQUEST

CONEXÃO TCP

cliente servidor

Keep-Alive

REQUEST

REQUEST #2

REQUEST #3

CONEXÃO TCP

cliente servidor

TCP HANDSHAKE

REQUEST

REQUEST #2

REQUEST #3

cliente servidor

TCP HANDSHAKE

REQUEST

REQUEST #2

REQUEST #3

cliente servidor

TCP HANDSHAKE

REQUEST

REQUEST #2

REQUEST #3

cliente servidor

TCP HANDSHAKE

REQUEST

REQUEST #2

REQUEST #3

cliente servidor

TCP HANDSHAKE

REQUEST

REQUEST #2

REQUEST #3

cliente servidor

TCP HANDSHAKE

REQUEST

REQUEST #2

REQUEST #3

de 4 a 8 conexões

otimizações web

otimizações webdiminuir requests

otimizações webdiminuir requests

diminuir tráfego

otimizações webdiminuir requests

diminuir tráfego

paralelizar requests

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

diminuir requests

diminuir tráfego

paralelizar requests

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

GZIP MINIFICAÇÃO DOMÍNIOS SEM COOKIES

diminuir requests

diminuir tráfego

paralelizar requests

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

GZIP MINIFICAÇÃO DOMÍNIOS SEM COOKIES

MÚLTIPLOS HOSTNAMES CDNs

diminuir requests

diminuir tráfego

paralelizar requests

o fantástico mundo do

HTTP/2 (e do SPDY)

GET  /  HTTP/1.1  Host:  www.caelum.com.br  

HTTP/1.1  200  OK  Content-­‐Type:  text/html;  charset=utf-­‐8  Content-­‐Language:  pt-­‐br  Date:  Thu,  03  Apr  2015  18:37:18  GMT  Cache-­‐Control:  private  

<!DOCTYPE  html><html><head><title>Caelum</title>  <meta  name=viewport  content=width=device-­‐width>  <meta  name=description  content="A  Caelum  tem  os  cursos  de  Java,  Android,  Scrum,  Rails,  .NET,  HTML  e  CSS  mais  reconhecidos  no  mercado"><style>

http 1.1

GET  /  HTTP/1.1  Host:  www.caelum.com.br  Accept-­‐Encoding:  gzip  

HTTP/1.1  200  OK  Content-­‐Type:  text/html;  charset=utf-­‐8  Content-­‐Language:  pt-­‐br  Date:  Thu,  03  Apr  2015  18:37:18  GMT  Cache-­‐Control:  private  Content-­‐Encoding:  gzip  Vary:  Accept-­‐Encoding  

??[mŚ???,l?T?%.?JI?;1?R0??E?д?H{{?un??Tm??:?U?5DI??su?

L??!???ӵm?_?\{-­‐??bՓ?u??6?1,W??N?C.?0?f*??ͿԨԩԪԫԬԭԮԯՠֈ֍֎ࢽࢼࢻࢺࢹࢸࢷࢶࢴࢳࢲࢱࢰࢯࢮࢭࢡࡪࡩࡨࡧࡦࡥࡤࡣࡢࡡࡠ߿߾ׯॸঀৼ৽?BV?????!#m|?

x???L?    Q????U?.?MZ跘?M?JN_?I??RNN???}Y??????cM?<?T?l  U????8?Π???id?c?8)E8??%:?$D*ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞ?????$4???j?F?  

((R2[??O?;s???ޱޥޤޣޢޡޠޟޞޝޜޛޚޙޘޗޖޕޔޓޒޑސޏގލތދފމވއކޅބރނށހy\??Fd⒙HK?x?-­‐?$???ȈȈ??????????O

http 1.1

GZIP

0101010101010101010101  

010101010101  0101010101010  101010101010  0101010101010  

??[mŚ???,l?T?%.?JI?;1?R0??E?д?H{{?un??Tm??:?U?5DI??su?

L??!???ӵm?_?\{-­‐??bՓ?u??6?1,W??N?C.?0?f*??ͿԨԩԪԫԬԭԮԯՠֈ֍֎ࢽࢼࢻࢺࢹࢸࢷࢶࢴࢳࢲࢱࢰࢯࢮࢭࢡࡪࡩࡨࡧࡦࡥࡤࡣࡢࡡࡠ߿߾ׯॸঀৼ৽?BV?????!#m|?

x???L?    Q????U?.?MZ跘?M?JN_?I??RNN???}Y??????cM?<?T?l  U????8?Π???id?c?8)E8??%:?$D*ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞ?????$4???j?F?  

((R2[??O?;s???ޱޥޤޣޢޡޠޟޞޝޜޛޚޙޘޗޖޕޔޓޒޑސޏގލތދފމވއކޅބރނށހy\??Fd⒙HK?x?-­‐?$???ȈȈ??????????O

http 2.0

BINÁRIO

GZIP

?c?8)E8??%:?$  

?T?%.?JI?;1?R  ,l?T?%.?JI?;1?R  ?c?8)E8??%:?$  

??[mŚ???,l?T?%.?JI?;1?R0??E?д?H{{?un??Tm??:?U?5DI??su?

L??!???ӵm?_?\{-­‐??bՓ?u??6?1,W??N?C.?0?f*??ͿԨԩԪԫԬԭԮԯՠֈ֍֎ࢽࢼࢻࢺࢹࢸࢷࢶࢴࢳࢲࢱࢰࢯࢮࢭࢡࡪࡩࡨࡧࡦࡥࡤࡣࡢࡡࡠ߿߾ׯॸঀৼ৽?BV?????!#m|?

x???L?    Q????U?.?MZ跘?M?JN_?I??RNN???}Y??????cM?<?T?l  U????8?Π???id?c?8)E8??%:?$D*ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇⱈⱉⱊⱋⱌⱍⱎⱏⱐⱑⱒⱓⱔⱕⱖⱗⱘⱙⱚⱛⱜⱝⱞ?????$4???j?F?  

((R2[??O?;s???ޱޥޤޣޢޡޠޟޞޝޜޛޚޙޘޗޖޕޔޓޒޑސޏގލތދފމވއކޅބރނށހy\??Fd⒙HK?x?-­‐?$???ȈȈ??????????O

http 2.0

BINÁRIO HPACK

GZIP

?????????  

???????  ????????  ????????  

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

http 2.0

BINÁRIO HPACK

GZIP

TLS

TLS

HEADER BINÁRIO GZIP / HPACK

TLS*

cliente servidor

HTTP 1.1 com Keep-Alive

cliente servidor

HTTP 1.1 com Pipelining*

cliente servidor

HTTP 1.1 com Pipelining*

cliente servidor

HTTP 1.1 com Pipelining*

Head of Line Blocking...

...

cliente servidor

HTTP 2.0 multiplexing

multiplexing

1 CONEXÃO TCP ASSÍNCRONO

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

GZIP MINIFICAÇÃO DOMÍNIOS SEM COOKIES

MÚLTIPLOS HOSTNAMES CDNs

diminuir requests

diminuir tráfego

paralelizar requests

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

GZIP MINIFICAÇÃO DOMÍNIOS SEM COOKIES

MÚLTIPLOS HOSTNAMES CDNs

diminuir requests

diminuir tráfego

paralelizar requests

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

GZIP MINIFICAÇÃO DOMÍNIOS SEM COOKIES

MÚLTIPLOS HOSTNAMES CDNs

diminuir requests

diminuir tráfego

paralelizar requests

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

GZIP MINIFICAÇÃO DOMÍNIOS SEM COOKIES

MÚLTIPLOS HOSTNAMES CDNs

diminuir requests

diminuir tráfego

paralelizar requests

:method:  GET  :path:  /  Host:  www.caelum.com.br  Accept:  text/html,application/xhtml+xml;q=0.9,image/jpeg  Accept-­‐Encoding:  gzip  User-­‐Agent:  Mozilla/5.0  (Macintosh;  Intel  Mac  OS  X  10_9_2)    Cookie:  SID=786dads78asdbad876asdhjvb28  

:method:  GET  :path:  /style.css  Host:  www.caelum.com.br  Accept:  text/html,application/xhtml+xml;q=0.9,image/jpeg  Accept-­‐Encoding:  gzip  User-­‐Agent:  Mozilla/5.0  (Macintosh;  Intel  Mac  OS  X  10_9_2)    Cookie:  SID=786dads78asdbad876asdhjvb28

http 1.1

:method:  GET  :path:  /  Host:  www.caelum.com.br  Accept:  text/html,application/xhtml+xml;q=0.9,image/jpeg  Accept-­‐Encoding:  gzip  User-­‐Agent:  Mozilla/5.0  (Macintosh;  Intel  Mac  OS  X  10_9_2)    Cookie:  SID=786dads78asdbad876asdhjvb28  

:method:  GET  :path:  /style.css  Host:  www.caelum.com.br  Accept:  text/html,application/xhtml+xml;q=0.9,image/jpeg  Accept-­‐Encoding:  gzip  User-­‐Agent:  Mozilla/5.0  (Macintosh;  Intel  Mac  OS  X  10_9_2)    Cookie:  SID=786dads78asdbad876asdhjvb28

http 1.1

:method:  GET  :path:  /  Host:  www.caelum.com.br  Accept:  text/html,application/xhtml+xml;q=0.9,image/jpeg  Accept-­‐Encoding:  gzip  User-­‐Agent:  Mozilla/5.0  (Macintosh;  Intel  Mac  OS  X  10_9_2)    Cookie:  SID=786dads78asdbad876asdhjvb28  

:path:  /style.css  

http 2.0

:method:  GET  :path:  /  Host:  www.caelum.com.br  Accept:  text/html,application/xhtml+xml;q=0.9,image/jpeg  Accept-­‐Encoding:  gzip  User-­‐Agent:  Mozilla/5.0  (Macintosh;  Intel  Mac  OS  X  10_9_2)    Cookie:  SID=786dads78asdbad876asdhjvb28  

:path:  /style.css  

:path:  /main.js  

:path:  /imagem.jpg  Host:  images.caelum.com.br  

http 2.0

header tables

MENOS BYTES REQUEST e RESPONSE

STATEFUL

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

GZIP MINIFICAÇÃO DOMÍNIOS SEM COOKIES

diminuir requests

diminuir tráfego

MÚLTIPLOS HOSTNAMES CDNs

paralelizar requests

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

GZIP MINIFICAÇÃO DOMÍNIOS SEM COOKIES

diminuir requests

diminuir tráfego

MÚLTIPLOS HOSTNAMES CDNs

paralelizar requests

inlinediminuir requests

priorizar conteúdo

priorizar conteúdo

<!DOCTYPE  html>  <html>  <head>          <style>                  /*  estilo  para  o  ATF  */          </style>  

       <script>                  /*  javascript  importante  */          </script>  

       /*  javascript  pra  depois  */          <script  src="secundario.js"  async></script>  </head>  <body>          ...  </body>  </html>

priorizar conteúdo

<!DOCTYPE  html>  <html>  <head>          <link  rel="stylesheet"  href="estilo.css">          <script  src="app.js"  async></script>  </head>  <body>          <img  src="foto.jpg">          ...          <script  src="jquery.js"></script>          <script  src="plugin.js"></script>  </body>  </html>

priorizar conteúdo

<!DOCTYPE  html>  <html>  <head>          <link  rel="stylesheet"  href="estilo.css">          <script  src="app.js"  async></script>  </head>  <body>          <img  src="foto.jpg">          ...          <script  src="jquery.js"></script>          <script  src="plugin.js"></script>  </body>  </html>

index.html

priorizar conteúdo

index.html

estilo.css

priorizar conteúdo

index.html

estilo.css app.js

priorizar conteúdo

index.html

estilo.css jquery.jsapp.js

priorizar conteúdo

index.html

estilo.css jquery.jsapp.js foto.jpg

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

logo.png

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

logo.png

12

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

logo.png

12 8

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

logo.png

12 8 8

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

logo.png

12 8 8 4

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

logo.png

12 8 8 4

8

priorizar conteúdo

index.html

estilo.css jquery.js

plugin.js

app.js foto.jpg

logo.png

12 8 8 4

4 8

priorizar conteúdo

index.html

cliente servidor

priorizar conteúdo

index.html

cliente servidor

priorizar conteúdo

index.html

cliente servidor

priorizar conteúdo

index.html

estilo.css

cliente servidor

priorizar conteúdo

index.html

estilo.css

cliente servidor

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpg

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpg

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

estilo.css

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

estilo.css

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

estilo.cssjquery.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

estilo.cssjquery.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

app.js

estilo.cssjquery.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

app.js

estilo.cssjquery.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

app.js

estilo.cssjquery.js

plugin.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

app.js

estilo.cssjquery.js

plugin.js

priorizar conteúdo

index.html

app.js

estilo.css

cliente servidor

foto.jpgjquery.jsplugin.js

app.js

estilo.css

foto.jpg

jquery.js

plugin.js

priorizar conteúdo

index.html

cliente servidor

index.html

cliente servidor

index.html

cliente servidor

espera

index.html

cliente servidor

index.html bloqueante

espera

index.html

cliente servidor

Server Push

index.html

cliente servidor

Server Push

index.html

cliente servidor

Server Push

index.html

cliente servidor

app.js

estilo.css

foto.jpg

jquery.js

plugin.js

Server Push

index.html

cliente servidor

app.js

estilo.css

foto.jpg

jquery.js

plugin.js

Server Push

cliente servidor

index.html  

style.css

index.html

icone.png

cliente servidor

index.html

style.css  

index.html

icone.png

Server Push Cancelável

server push

PRIORIZAÇÃO CANCELÁVEL CACHEÁVEL

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

GZIP MINIFICAÇÃO DOMÍNIOS SEM COOKIES

diminuir requests

diminuir tráfego

MÚLTIPLOS HOSTNAMES CDNs

paralelizar requests

otimizações webJUNTAR CSS E JS SPRITES INLINE DE RECURSOS

GZIP MINIFICAÇÃO DOMÍNIOS SEM COOKIES

diminuir requests

diminuir tráfego

MÚLTIPLOS HOSTNAMES CDNs

paralelizar requests

http 2

http 2BINÁRIO

http 2

COMPRESSÃO

BINÁRIO

http 2

COMPRESSÃOCRIPTOGRAFIA

BINÁRIO

http 2

COMPRESSÃOCRIPTOGRAFIA

MULTIPLEXING

BINÁRIO

http 2

COMPRESSÃOCRIPTOGRAFIA

MULTIPLEXINGPRIORIZAÇÃO

BINÁRIO

http 2

COMPRESSÃOCRIPTOGRAFIA

MULTIPLEXING

SERVER PUSHPRIORIZAÇÃO

BINÁRIO

http 2

COMPRESSÃOCRIPTOGRAFIA

MULTIPLEXING

SERVER PUSHPRIORIZAÇÃO

+PERFORMANCE

BINÁRIO

http 2

COMPRESSÃOCRIPTOGRAFIA

MULTIPLEXING

SERVER PUSHPRIORIZAÇÃO

+MOBILE+PERFORMANCE

BINÁRIO

http 2

COMPRESSÃOCRIPTOGRAFIA

MULTIPLEXING

SERVER PUSHPRIORIZAÇÃO

+MOBILE+FÁCIL+PERFORMANCE

BINÁRIO

http 2

COMPRESSÃOCRIPTOGRAFIA

MULTIPLEXING

SERVER PUSHPRIORIZAÇÃO

+MOBILE+FÁCIL+PERFORMANCE

BINÁRIO

+COMPATÍVEL

http 2

COMPRESSÃOCRIPTOGRAFIA

MULTIPLEXING

SERVER PUSHPRIORIZAÇÃO

+MOBILE+FÁCIL+PERFORMANCE

BINÁRIO

+COMPATÍVEL+LEVE

http 2

COMPRESSÃOCRIPTOGRAFIA

MULTIPLEXING

SERVER PUSHPRIORIZAÇÃO

+MOBILE+FÁCIL+PERFORMANCE

BINÁRIO

+COMPATÍVEL +SEGURO+LEVE

otimizações web http2diminuir tráfego

CACHE MINIFICAÇÃO JS, CSS, HTML COMPRESSÃO DE IMAGENS

otimizações web http2diminuir tráfego

CACHE MINIFICAÇÃO JS, CSS, HTML COMPRESSÃO DE IMAGENS

SERVER PUSH / HINT CRITICAL PATH 60 FPS / JANK FREE

otimizar renderização

otimizações web http2diminuir tráfego

CACHE MINIFICAÇÃO JS, CSS, HTML COMPRESSÃO DE IMAGENS

SERVER PUSH / HINT CRITICAL PATH 60 FPS / JANK FREE

otimizar renderização

CDNs QUIC

diminuir latência

USE HTTP/2 HOJE (ou SPDY)

@sergio_caelum

obrigado!

links adicionais:● The Effect of Network and Infrastructural Variables on

SPDY's Performance.

● Livro High Performance Browser Networking

● Especificação HTTP2

● http://daniel.haxx.se/http2/

Recommended