173
this slide was intentionally left blank

HTTP/2 -- the future of WWW

Embed Size (px)

Citation preview

Page 1: HTTP/2 -- the future of WWW

this slide wasintentionally left blank

Page 2: HTTP/2 -- the future of WWW

Good developers know how things work.

Great developers know why things work.

ancient proverb

Page 3: HTTP/2 -- the future of WWW

HTTP 2.0the future of WWW

@tkaczmarzykblog.kaczmarzyk.net

Tomek “Kosior” Kaczmarzyk

Page 4: HTTP/2 -- the future of WWW

HTTP 2.0the future of WWW

@tkaczmarzykblog.kaczmarzyk.net

Tomek “Kosior” Kaczmarzyk

HTTP/2

Page 5: HTTP/2 -- the future of WWW

About me- I work as CTO at Cohesiva

- I have a blog: blog.kaczmarzyk.net

- I co-organize , software craftsmanship conference

(16.01.2016 in Wroclaw!!!)

Page 6: HTTP/2 -- the future of WWW

The plan1. Introductioo0000oo00on

2. HTTP/2 in a nutshell

3. Performance of browser networking

4. Questions

Page 7: HTTP/2 -- the future of WWW

c = 299 792 458 m/s

Page 8: HTTP/2 -- the future of WWW
Page 9: HTTP/2 -- the future of WWW

Achievement unlocked!Ba-dum-tss Level 2

Page 10: HTTP/2 -- the future of WWW
Page 11: HTTP/2 -- the future of WWW

=======================================

=======================================0100110101011001011000110010110001100101

client server

[ 0%]

Page 12: HTTP/2 -- the future of WWW

=======================================

=======================================

client server

Page 13: HTTP/2 -- the future of WWW
Page 14: HTTP/2 -- the future of WWW
Page 15: HTTP/2 -- the future of WWW

SYN

Page 16: HTTP/2 -- the future of WWW

SYN-ACK

Page 17: HTTP/2 -- the future of WWW

ACK

Page 18: HTTP/2 -- the future of WWW
Page 19: HTTP/2 -- the future of WWW

=======================================

=======================================

client server

Page 20: HTTP/2 -- the future of WWW
Page 21: HTTP/2 -- the future of WWW

1 bandwidth

[Mbps]2 3 4 5 6 7 8 9

2500

2000

1000

1500

3000

pageload time

[ms]

Page 22: HTTP/2 -- the future of WWW

1 bandwidth

[Mbps]2 3 4 5 6 7 8 9

2500

2000

1000

1500

3000

pageload time

[ms]

page load timevs increasing bandwidth

Page 23: HTTP/2 -- the future of WWW

180 latency

[ms]140 100 60 20

2500

2000

1000

1500

3000

pageload time

[ms]

Page 24: HTTP/2 -- the future of WWW

page load timevs decreasing latency

180 latency[ms]

140 100 60 20

2500

2000

1000

1500

3000

pageload time

[ms]

Page 25: HTTP/2 -- the future of WWW

Have you ever?

Achievement unlocked!Tribute

Page 26: HTTP/2 -- the future of WWW

Server

Client

HTTP/0.9

Page 27: HTTP/2 -- the future of WWW

Server

Client

HTTP/0.9

starting a TCP/IP connection

Page 28: HTTP/2 -- the future of WWW

GET /resource HTTP/0.9Host: example.orgAccept: image/jpeg

Server

Client

HTTP/0.9

Page 29: HTTP/2 -- the future of WWW

HTTP/0.9 304 Not ModifiedETag: "xyzzy"Expires: Thu, 23 Jan ...

Server

Client

HTTP/0.9

Page 30: HTTP/2 -- the future of WWW

Server

Client

HTTP/0.9

closing the TCP/IP connection

Page 31: HTTP/2 -- the future of WWW

Server

Client

HTTP/1.0

Page 32: HTTP/2 -- the future of WWW

GET /resource HTTP/1.0Host: example.orgAccept: image/jpeg

Server

Client

HTTP/1.0

Page 33: HTTP/2 -- the future of WWW

HTTP/1.0 304 Not ModifiedETag: "xyzzy"Expires: Thu, 23 Jan ...

Server

Client

HTTP/1.0

Page 34: HTTP/2 -- the future of WWW

GET /resource2 HTTP/1.0Host: example.orgAccept: image/jpeg

Server

Client

HTTP/1.0

Page 35: HTTP/2 -- the future of WWW

HTTP/1.0 200 OKETag: "xyzzy"...

Server

Client

HTTP/1.0

Page 36: HTTP/2 -- the future of WWW

Server

Client

HTTP/1.0re

ques

t1 response1

requ

est2

requ

est3

response2

response3

Page 37: HTTP/2 -- the future of WWW

Server

Client

HTTP/1.1re

ques

t1re

ques

t2re

q. 3

Page 38: HTTP/2 -- the future of WWW

Server

Client

HTTP/1.1re

ques

t1re

ques

t2

!!!head of line blocking

req. 3

Page 39: HTTP/2 -- the future of WWW

Server

Client

multiple connectionsper browser session

Page 40: HTTP/2 -- the future of WWW

Server

Client

Page 41: HTTP/2 -- the future of WWW

Server

Client

Page 42: HTTP/2 -- the future of WWW

WTF!?

WTF!?Server

Client

Page 43: HTTP/2 -- the future of WWW
Page 44: HTTP/2 -- the future of WWW
Page 45: HTTP/2 -- the future of WWW
Page 46: HTTP/2 -- the future of WWW

SPDY

Page 47: HTTP/2 -- the future of WWW

RFC 7540 – HTTP/2RFC 7541 – HPACK

Page 48: HTTP/2 -- the future of WWW

The plan1. Introductioo0000oo00on

2. HTTP/2 in a nutshell

3. Performance of browser networking

4. Questions

Page 49: HTTP/2 -- the future of WWW

Achievement unlocked!Ba-dum-tss Level 3

Page 50: HTTP/2 -- the future of WWW
Page 51: HTTP/2 -- the future of WWW
Page 52: HTTP/2 -- the future of WWW

Server

Client

single

connec

tion!

Page 53: HTTP/2 -- the future of WWW

Server

Client

single

connec

tion!

Page 54: HTTP/2 -- the future of WWW

Server

Client

single

connec

tion!

stream 1HEADERS

stream 1DATA

stream 1HEADERS

Page 55: HTTP/2 -- the future of WWW

Server

Client

single

connec

tion!

stream 1HEADERS

stream 3DATA

stream 1DATA

stream 3HEADERS stream 1

HEADERSstream 3HEADERS

Page 56: HTTP/2 -- the future of WWW

Server

Client

single

connec

tion!

stream 1HEADERS

stream 3DATA

stream 1DATA

stream 3HEADERS

stream 5HEADERSstream 5

DATA

stream 5DATA

stream 7HEADERS

stream 1HEADERSstream 3HEADERS

Page 57: HTTP/2 -- the future of WWW

Server

Client

single

connec

tion!

Page 58: HTTP/2 -- the future of WWW

Server

Client

single

connec

tion!

GO AWAY

Page 59: HTTP/2 -- the future of WWW

Server

Client

Page 60: HTTP/2 -- the future of WWW

Server

Client

single

connec

tion!

GO AWAY

Page 61: HTTP/2 -- the future of WWW

Server

Client

new

connec

tion!

Page 62: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg

Page 63: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg

HTTP/2

Page 64: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg

HEADERS

HTTP/2

Page 65: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg

HEADERS

HTTP/2

+END_STREAM+END_HEADERS

Page 66: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg

HEADERS

HTTP/2

+END_STREAM+END_HEADERS

flags(binary header)

Page 67: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg

HEADERS

HTTP/2

+END_STREAM+END_HEADERS

host = example.org accept = image/jpeg

flags(binary header)

Page 68: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg

HEADERS

HTTP/2

+END_STREAM+END_HEADERS :method = GET :scheme = https :path = /resource host = example.org accept = image/jpeg

flags(binary header)

Page 69: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg

HEADERS

HTTP/2

+END_STREAM+END_HEADERS :method = GET :scheme = https :path = /resource host = example.org accept = image/jpeg

flags(binary header)

pseudo headers

Page 70: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg…foo: barcookie: a=b; e=f

Page 71: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg…foo: barcookie: a=b; e=f

HTTP/2

HEADERS

CONTINUATION

-END_STREAM-END_HEADERS

-END_STREAM+END_HEADERS

:method = GET :scheme = https :path = /resource host = example.org accept = image/jpeg

…cookie = a=bcookie = e=f

Page 72: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg…foo: barcookie: a=b; e=f

HTTP/2

HEADERS

CONTINUATION

-END_STREAM-END_HEADERS

-END_STREAM+END_HEADERS

:method = GET :scheme = https :path = /resource host = example.org accept = image/jpeg

…cookie = a=bcookie = e=f

mind the flags!

Page 73: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg…foo: barcookie: a=b; e=f

HTTP/2

HEADERS

CONTINUATION

-END_STREAM-END_HEADERS

-END_STREAM+END_HEADERS

:method = GET :scheme = https :path = /resource host = example.org accept = image/jpeg

…cookie = a=bcookie = e=f

mind the flags!

decomposed for cacheability

Page 74: HTTP/2 -- the future of WWW

POST /resource HTTP/1.1Host: example.orgAccept: application/json…foo: barcookie: a=b; e=f

{ “name”: ”Homer”}

Page 75: HTTP/2 -- the future of WWW

POST /resource HTTP/1.1Host: example.orgAccept: application/json…foo: barcookie: a=b; e=f

{ “name”: ”Homer”}

HTTP/2

HEADERS

DATA

-END_STREAM+END_HEADERS

-END_STREAM

:method = POST :scheme = https :path = /resource host = example.org accept = app./json

{ “name”: ”Homer”}

Page 76: HTTP/2 -- the future of WWW

HPACK

Page 77: HTTP/2 -- the future of WWW

:method = GET:scheme = HTTPS:host = example.org:path = /resourceuser-agent = Chrome...cookie = JSESSIONID...

Page 78: HTTP/2 -- the future of WWW

:method = GET:scheme = HTTPS:host = example.org:path = /resourceuser-agent = Chrome...cookie = JSESSIONID...

Static table1

2

9

...

...

usr-agent

method

scheme

Chrome

GET

HTTPS

Page 79: HTTP/2 -- the future of WWW

:method = GET:scheme = HTTPS:host = example.org:path = /resourceuser-agent = Chrome...cookie = JSESSIONID...

Static table1

2

9

...

...

usr-agent

method

scheme

Chrome

GET

HTTPS

Page 80: HTTP/2 -- the future of WWW

:method = GET:scheme = HTTPS:host = example.org:path = /resourceuser-agent = Chrome...cookie = JSESSIONID...

Static table1

2

9

...

...

usr-agent

method

scheme

Chrome

GET

HTTPS

29:host = example.org:path = /resource1cookie = JSESSION...

Page 81: HTTP/2 -- the future of WWW

:method = GET:scheme = HTTPS:host = example.org:path = /resourceuser-agent = Chrome...cookie = JSESSIONID...

Static table1

2

9

...

...

usr-agent

method

scheme

Chrome

GET

HTTPS

29:host = example.org:path = /resource1cookie = JSESSION...

Page 82: HTTP/2 -- the future of WWW

:method = GET:scheme = HTTPS:host = example.org:path = /resourceuser-agent = Chrome...cookie = JSESSIONID...

Static table1

2

9

...

...

usr-agent

method

scheme

Chrome

GET

HTTPS

29:host = example.org:path = /resource1cookie = JSESSION...

Dynamic table

21

...cookie JSESSION...

Page 83: HTTP/2 -- the future of WWW

:method = GET:scheme = HTTPS:host = example.org:path = /resourceuser-agent = Chrome...cookie = JSESSIONID...

Static table1

2

9

...

...

usr-agent

method

scheme

Chrome

GET

HTTPS

29:host = example.org:path = /resource121

Dynamic table

21

...cookie JSESSION...

Page 84: HTTP/2 -- the future of WWW

Static table

Dynamic table

:method = GET:scheme = HTTPS:host = example.org:path = /resourceuser-agent = Chrome...cookie = JSESSIONID...

1

2

9

...

...

21

...

29:host = example.org:path = /resource121

usr-agent

method

scheme

Chrome

GET

HTTPS

cookie JSESSION...

+Huffman

Page 85: HTTP/2 -- the future of WWW

server push

Page 86: HTTP/2 -- the future of WWW

<html><head> ... <link rel=”stylesheet” type=”text/css” href=”...” /></head><body>

... <img src=”...”/> ...</body></html>

Page 87: HTTP/2 -- the future of WWW
Page 88: HTTP/2 -- the future of WWW

Server

Client

Page 89: HTTP/2 -- the future of WWW

Server

Client

stream 1

GET index.ht

ml

Page 90: HTTP/2 -- the future of WWW

Server

Client

stream 1

GET index.ht

ml

Page 91: HTTP/2 -- the future of WWW

Server

Client

stream 2PUSH_PROMISE(stylesheet)

stream 4PUSH_PROMISE

(image)

local cache

stream 1

GET index.ht

ml

Page 92: HTTP/2 -- the future of WWW

Server

Client

stream 2PUSH_PROMISE(stylesheet)

stream 4PUSH_PROMISE

(image)stream 1HEADERS

(index.html)

stream 1DATA

(index.html)

local cache

stream 1

GET index.ht

ml

Page 93: HTTP/2 -- the future of WWW

Server

Client

stream 2PUSH_PROMISE(stylesheet)

stream 4PUSH_PROMISE

(image)

local cache

Page 94: HTTP/2 -- the future of WWW

Server

Client

stream 2PUSH_PROMISE(stylesheet)

stream 4PUSH_PROMISE

(image)

local cache

GET

stylesheet

Page 95: HTTP/2 -- the future of WWW

Server

Client

stream 2PUSH_PROMISE(stylesheet)

stream 4PUSH_PROMISE

(image)

local cache

GET

stylesheet

Page 96: HTTP/2 -- the future of WWW

Jetty – “smart push”GET index.htmlGET style.cssGET script.js

Page 97: HTTP/2 -- the future of WWW

Jetty – “smart push”GET index.htmlGET style.css {Referer: /index.html}GET script.js {Referer: /index.html}

Page 98: HTTP/2 -- the future of WWW

Jetty – “smart push”GET index.htmlGET style.css {Referer: /index.html}GET script.js {Referer: /index.html}

Page 99: HTTP/2 -- the future of WWW

Jetty – “smart push”GET index.htmlGET style.css {Referer: /index.html}GET script.js {Referer: /index.html}

GET index.html push: script.js, style.css, index.html

Page 100: HTTP/2 -- the future of WWW

* flow control

* prioritization

* stream dependencies

Even more sexy stuff...

Page 101: HTTP/2 -- the future of WWW

Flow control

Page 102: HTTP/2 -- the future of WWW

client

server

Page 103: HTTP/2 -- the future of WWW

client

server

Page 104: HTTP/2 -- the future of WWW

client

server

Page 105: HTTP/2 -- the future of WWW

client

server

101001101011010111010

Page 106: HTTP/2 -- the future of WWW

client

server

101001101011010111010

Achievement unlocked!Awwww...

Page 107: HTTP/2 -- the future of WWW

client

server

101001101011010111010

Page 108: HTTP/2 -- the future of WWW

client

server

101001101011010111010

101001101

Page 109: HTTP/2 -- the future of WWW

client

server

101001101011010111010

101001101011011111

Page 110: HTTP/2 -- the future of WWW

client

server

101001101011010111010

10100110101101111100001101

Page 111: HTTP/2 -- the future of WWW

client

server

101001101011010111010

10100110101101111100001101011011111

Page 112: HTTP/2 -- the future of WWW

client

server

101001101011010111010

10100110101101111100001101011011111

011011110100110111110011101111101001001110111001000011

Page 113: HTTP/2 -- the future of WWW

client

server

with HTTP/2flow control!

SETTINGS(initial

window size)65,535

Page 114: HTTP/2 -- the future of WWW

client

server

with HTTP/2flow control!

65,535 DATA

Page 115: HTTP/2 -- the future of WWW

client

server

with HTTP/2flow control!

41,003 DATA

Page 116: HTTP/2 -- the future of WWW

client

server

with HTTP/2flow control!

2^31 - 1WINDOWUPDATE

Page 117: HTTP/2 -- the future of WWW

client

server

with HTTP/2flow control!

2^31 - 1

WINDOWUPDATE

WINDOWUPDATE131070

Page 118: HTTP/2 -- the future of WWW

Prioritization & stream dependencies

Page 119: HTTP/2 -- the future of WWW

B1

Page 120: HTTP/2 -- the future of WWW

B1

stream

weight

Page 121: HTTP/2 -- the future of WWW

A3

B1

stream

weight

Page 122: HTTP/2 -- the future of WWW

A3

B1

stream

weight

* implicit root stream

Page 123: HTTP/2 -- the future of WWW

A3

B1

C2

*

D1

Page 124: HTTP/2 -- the future of WWW

1. Introductioo0000oo00on

2. HTTP/2 in a nutshell

3. Performance of browser networking

4. Questions

The plan

Page 125: HTTP/2 -- the future of WWW
Page 126: HTTP/2 -- the future of WWW

The web is dead and I have killed it.

Page 127: HTTP/2 -- the future of WWW
Page 128: HTTP/2 -- the future of WWW
Page 129: HTTP/2 -- the future of WWW

– what's web?– web is dead

Achievement unlocked!Tribute

Page 130: HTTP/2 -- the future of WWW

HTTP/2 vsnetwork performance patterns

Page 131: HTTP/2 -- the future of WWW

* domain sharding* asset concatenation

Page 132: HTTP/2 -- the future of WWW

* domain sharding* asset concatenation

it's a single connection with HTTP/2

Page 133: HTTP/2 -- the future of WWW

* resource inlining

Page 134: HTTP/2 -- the future of WWW

* resource inlining

server push is better!

Page 135: HTTP/2 -- the future of WWW

Content Delivery Networks

Page 136: HTTP/2 -- the future of WWW
Page 137: HTTP/2 -- the future of WWW
Page 138: HTTP/2 -- the future of WWW

* compression* reducing HTTP redirects* reducing DNS lookups* caching on the client

Page 139: HTTP/2 -- the future of WWW

1. Introductioo0000oo00on

2. HTTP/2 in a nutshell

3. Performance of browser networking

4. Questions

The plan

Page 140: HTTP/2 -- the future of WWW
Page 141: HTTP/2 -- the future of WWW

caniuse.com

Page 142: HTTP/2 -- the future of WWW

The future is now(!?)

Page 143: HTTP/2 -- the future of WWW

HTTP 2.0the future of WWW

HTTP/2

thanks!?

@tkaczmarzykblog.kaczmarzyk.net

Tomek “Kosior” Kaczmarzyk

Page 144: HTTP/2 -- the future of WWW

FAQ

Page 145: HTTP/2 -- the future of WWW

Where can I find more information about HTTP/2?

Page 146: HTTP/2 -- the future of WWW

Where can I find more information about HTTP/2?

* RFC 7540 (really!)* “High Performance Browser Networking” By Ilya Grigorik

Page 147: HTTP/2 -- the future of WWW

The future is now? Really?

Page 148: HTTP/2 -- the future of WWW

“HTTP/1.1 will be around for at least another decade “

1. Negotiating HTTP/2 with TLS handshake

2. Upgrading a plaintext connection to HTTP/2

3. Initiating a plaintext HTTP/2 connection

Page 149: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1 Host: boilingfrogs.pl Connection: Upgrade, HTTP2-Settings Upgrade: h2c HTTP2-Settings: (... SETTINGS payload …)-----------------------------------------------------------

Page 150: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1 Host: boilingfrogs.pl Connection: Upgrade, HTTP2-Settings Upgrade: h2c HTTP2-Settings: (... SETTINGS payload …)-----------------------------------------------------------

Page 151: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1 Host: boilingfrogs.pl Connection: Upgrade, HTTP2-Settings Upgrade: h2c HTTP2-Settings: (... SETTINGS payload …)-----------------------------------------------------------

Page 152: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1 Host: boilingfrogs.pl Connection: Upgrade, HTTP2-Settings Upgrade: h2c HTTP2-Settings: (... SETTINGS payload …)----------------------------------------------------------- HTTP/1.1 101 Switching Protocols Connection: Upgrade Upgrade: h2c

(... HTTP/2 response …)

Page 153: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1 Host: boilingfrogs.pl Connection: Upgrade, HTTP2-Settings Upgrade: h2c HTTP2-Settings: (... SETTINGS payload …)----------------------------------------------------------- HTTP/1.1 101 Switching Protocols Connection: Upgrade Upgrade: h2c

(... HTTP/2 response …)

Page 154: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1 Host: boilingfrogs.pl Connection: Upgrade, HTTP2-Settings Upgrade: h2c HTTP2-Settings: (... SETTINGS payload …)----------------------------------------------------------- HTTP/1.1 101 Switching Protocols Connection: Upgrade Upgrade: h2c

(... HTTP/2 response …)----------------------------------------------------------- HTTP/1.1 200 OK Content-length: 243 Content-type: text/html

(... HTTP/1.1 response ...)

Page 155: HTTP/2 -- the future of WWW

GET /resource HTTP/1.1 Host: boilingfrogs.pl Connection: Upgrade, HTTP2-Settings Upgrade: h2c HTTP2-Settings: (... SETTINGS payload …)----------------------------------------------------------- HTTP/1.1 101 Switching Protocols Connection: Upgrade Upgrade: h2c

(... HTTP/2 response …)----------------------------------------------------------- HTTP/1.1 200 OK Content-length: 243 Content-type: text/html

(... HTTP/1.1 response ...)

Page 156: HTTP/2 -- the future of WWW

Are there any downsidesof one connection per origin?

Page 157: HTTP/2 -- the future of WWW

server

client

Page 158: HTTP/2 -- the future of WWW

server

client

1

3

2

Page 159: HTTP/2 -- the future of WWW

server

client

1

3

2

Page 160: HTTP/2 -- the future of WWW

server

client

1

3

2

Page 161: HTTP/2 -- the future of WWW

server

client

1

3

2

TCP buffer: 1 3

Page 162: HTTP/2 -- the future of WWW

server

client

1

3

TCP buffer: 1 3

2

Page 163: HTTP/2 -- the future of WWW

server

client

1

3

TCP buffer: 1 3

22x ACK

Page 164: HTTP/2 -- the future of WWW

server

client

1

3

TCP buffer: 1 3

22x ACK

retra

nsmit

Page 165: HTTP/2 -- the future of WWW

server

client

1

3

TCP buffer: 1 3

22x ACK

retra

nsmit

2

Page 166: HTTP/2 -- the future of WWW

server

client

TCP buffer:

1

3

22x ACK

retra

nsmit

1 32

ACK

Page 167: HTTP/2 -- the future of WWW

“In tests so far, the negative effects of head-of-line blocking (especially in the presence of packet loss) is outweighed by the benefits of compression and prioritization.” 

-- Hypertext Transfer Protocol version 2

Page 168: HTTP/2 -- the future of WWW

Server pushvs

SSE & web sockets

Page 169: HTTP/2 -- the future of WWW

Why do we needheader compression?

Page 170: HTTP/2 -- the future of WWW

Why HPACK?

Page 171: HTTP/2 -- the future of WWW

Morequestions? :)

Page 172: HTTP/2 -- the future of WWW

HTTP 2.0the future of WWW

HTTP/2

thanks!?

@tkaczmarzykblog.kaczmarzyk.net

Tomek “Kosior” Kaczmarzyk

Page 173: HTTP/2 -- the future of WWW

Acknowledgements

https://www.flickr.com/photos/eldelinux/15041976222/

Ilya Grigorik (@igrigorik)

“High performance browser networking”

https://www.flickr.com/photos/cblue98/5115058146

Photo Credit