Download - HTTP/2 -- the future of WWW
![Page 1: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/1.jpg)
this slide wasintentionally left blank
![Page 2: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/2.jpg)
Good developers know how things work.
Great developers know why things work.
ancient proverb
![Page 3: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/3.jpg)
HTTP 2.0the future of WWW
@tkaczmarzykblog.kaczmarzyk.net
Tomek “Kosior” Kaczmarzyk
![Page 4: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/4.jpg)
HTTP 2.0the future of WWW
@tkaczmarzykblog.kaczmarzyk.net
Tomek “Kosior” Kaczmarzyk
HTTP/2
![Page 5: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/6.jpg)
The plan1. Introductioo0000oo00on
2. HTTP/2 in a nutshell
3. Performance of browser networking
4. Questions
![Page 7: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/7.jpg)
c = 299 792 458 m/s
![Page 8: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/8.jpg)
![Page 9: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/9.jpg)
Achievement unlocked!Ba-dum-tss Level 2
![Page 10: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/10.jpg)
![Page 11: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/11.jpg)
=======================================
=======================================0100110101011001011000110010110001100101
client server
[ 0%]
![Page 12: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/12.jpg)
=======================================
=======================================
client server
![Page 13: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/13.jpg)
![Page 14: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/14.jpg)
![Page 15: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/15.jpg)
SYN
![Page 16: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/16.jpg)
SYN-ACK
![Page 17: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/17.jpg)
ACK
![Page 18: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/18.jpg)
![Page 19: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/19.jpg)
=======================================
=======================================
client server
![Page 20: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/20.jpg)
![Page 21: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/23.jpg)
180 latency
[ms]140 100 60 20
2500
2000
1000
1500
3000
pageload time
[ms]
![Page 24: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/25.jpg)
Have you ever?
Achievement unlocked!Tribute
![Page 26: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/26.jpg)
Server
Client
HTTP/0.9
![Page 27: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/27.jpg)
Server
Client
HTTP/0.9
starting a TCP/IP connection
![Page 28: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/28.jpg)
GET /resource HTTP/0.9Host: example.orgAccept: image/jpeg
Server
Client
HTTP/0.9
![Page 29: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/29.jpg)
HTTP/0.9 304 Not ModifiedETag: "xyzzy"Expires: Thu, 23 Jan ...
Server
Client
HTTP/0.9
![Page 30: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/30.jpg)
Server
Client
HTTP/0.9
closing the TCP/IP connection
![Page 31: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/31.jpg)
Server
Client
HTTP/1.0
![Page 32: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/32.jpg)
GET /resource HTTP/1.0Host: example.orgAccept: image/jpeg
Server
Client
HTTP/1.0
![Page 33: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/33.jpg)
HTTP/1.0 304 Not ModifiedETag: "xyzzy"Expires: Thu, 23 Jan ...
Server
Client
HTTP/1.0
![Page 34: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/34.jpg)
GET /resource2 HTTP/1.0Host: example.orgAccept: image/jpeg
Server
Client
HTTP/1.0
![Page 35: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/35.jpg)
HTTP/1.0 200 OKETag: "xyzzy"...
Server
Client
HTTP/1.0
![Page 36: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/36.jpg)
Server
Client
HTTP/1.0re
ques
t1 response1
requ
est2
requ
est3
response2
response3
![Page 37: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/37.jpg)
Server
Client
HTTP/1.1re
ques
t1re
ques
t2re
q. 3
![Page 38: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/38.jpg)
Server
Client
HTTP/1.1re
ques
t1re
ques
t2
!!!head of line blocking
req. 3
![Page 39: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/39.jpg)
Server
Client
multiple connectionsper browser session
![Page 40: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/40.jpg)
Server
Client
![Page 41: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/41.jpg)
Server
Client
![Page 42: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/42.jpg)
WTF!?
WTF!?Server
Client
![Page 43: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/43.jpg)
![Page 44: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/44.jpg)
![Page 45: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/45.jpg)
![Page 46: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/46.jpg)
SPDY
![Page 47: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/47.jpg)
RFC 7540 – HTTP/2RFC 7541 – HPACK
![Page 48: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/48.jpg)
The plan1. Introductioo0000oo00on
2. HTTP/2 in a nutshell
3. Performance of browser networking
4. Questions
![Page 49: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/49.jpg)
Achievement unlocked!Ba-dum-tss Level 3
![Page 50: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/50.jpg)
![Page 51: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/51.jpg)
![Page 52: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/52.jpg)
Server
Client
single
connec
tion!
![Page 53: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/53.jpg)
Server
Client
single
connec
tion!
![Page 54: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/54.jpg)
Server
Client
single
connec
tion!
stream 1HEADERS
stream 1DATA
stream 1HEADERS
![Page 55: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/57.jpg)
Server
Client
single
connec
tion!
![Page 58: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/58.jpg)
Server
Client
single
connec
tion!
GO AWAY
![Page 59: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/59.jpg)
Server
Client
![Page 60: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/60.jpg)
Server
Client
single
connec
tion!
GO AWAY
![Page 61: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/61.jpg)
Server
Client
new
connec
tion!
![Page 62: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/62.jpg)
GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg
![Page 63: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/63.jpg)
GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg
HTTP/2
![Page 64: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/64.jpg)
GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg
HEADERS
HTTP/2
![Page 65: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/65.jpg)
GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg
HEADERS
HTTP/2
+END_STREAM+END_HEADERS
![Page 66: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/66.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/67.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/68.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/69.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/70.jpg)
GET /resource HTTP/1.1Host: example.orgAccept: image/jpeg…foo: barcookie: a=b; e=f
![Page 71: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/71.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/72.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/73.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/74.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/75.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/76.jpg)
HPACK
![Page 77: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/77.jpg)
:method = GET:scheme = HTTPS:host = example.org:path = /resourceuser-agent = Chrome...cookie = JSESSIONID...
![Page 78: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/78.jpg)
: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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/79.jpg)
: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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/80.jpg)
: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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/81.jpg)
: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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/82.jpg)
: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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/83.jpg)
: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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/84.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/85.jpg)
server push
![Page 86: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/86.jpg)
<html><head> ... <link rel=”stylesheet” type=”text/css” href=”...” /></head><body>
... <img src=”...”/> ...</body></html>
![Page 87: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/87.jpg)
![Page 88: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/88.jpg)
Server
Client
![Page 89: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/89.jpg)
Server
Client
stream 1
GET index.ht
ml
![Page 90: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/90.jpg)
Server
Client
stream 1
GET index.ht
ml
![Page 91: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/91.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/92.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/93.jpg)
Server
Client
stream 2PUSH_PROMISE(stylesheet)
stream 4PUSH_PROMISE
(image)
local cache
![Page 94: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/94.jpg)
Server
Client
stream 2PUSH_PROMISE(stylesheet)
stream 4PUSH_PROMISE
(image)
local cache
GET
stylesheet
![Page 95: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/95.jpg)
Server
Client
stream 2PUSH_PROMISE(stylesheet)
stream 4PUSH_PROMISE
(image)
local cache
GET
stylesheet
![Page 96: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/96.jpg)
Jetty – “smart push”GET index.htmlGET style.cssGET script.js
![Page 97: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/97.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/98.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/99.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/100.jpg)
* flow control
* prioritization
* stream dependencies
Even more sexy stuff...
![Page 101: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/101.jpg)
Flow control
![Page 102: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/102.jpg)
client
server
![Page 103: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/103.jpg)
client
server
![Page 104: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/104.jpg)
client
server
![Page 105: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/105.jpg)
client
server
101001101011010111010
![Page 106: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/106.jpg)
client
server
101001101011010111010
Achievement unlocked!Awwww...
![Page 107: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/107.jpg)
client
server
101001101011010111010
![Page 108: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/108.jpg)
client
server
101001101011010111010
101001101
![Page 109: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/109.jpg)
client
server
101001101011010111010
101001101011011111
![Page 110: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/110.jpg)
client
server
101001101011010111010
10100110101101111100001101
![Page 111: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/111.jpg)
client
server
101001101011010111010
10100110101101111100001101011011111
![Page 112: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/112.jpg)
client
server
101001101011010111010
10100110101101111100001101011011111
011011110100110111110011101111101001001110111001000011
![Page 113: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/113.jpg)
client
server
with HTTP/2flow control!
SETTINGS(initial
window size)65,535
![Page 114: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/114.jpg)
client
server
with HTTP/2flow control!
65,535 DATA
![Page 115: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/115.jpg)
client
server
with HTTP/2flow control!
41,003 DATA
![Page 116: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/116.jpg)
client
server
with HTTP/2flow control!
2^31 - 1WINDOWUPDATE
![Page 117: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/117.jpg)
client
server
with HTTP/2flow control!
2^31 - 1
WINDOWUPDATE
WINDOWUPDATE131070
![Page 118: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/118.jpg)
Prioritization & stream dependencies
![Page 119: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/119.jpg)
B1
![Page 120: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/120.jpg)
B1
stream
weight
![Page 121: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/121.jpg)
A3
B1
stream
weight
![Page 122: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/122.jpg)
A3
B1
stream
weight
* implicit root stream
![Page 123: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/123.jpg)
A3
B1
C2
*
D1
![Page 124: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/124.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/125.jpg)
![Page 126: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/126.jpg)
The web is dead and I have killed it.
![Page 127: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/127.jpg)
![Page 128: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/128.jpg)
![Page 129: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/129.jpg)
– what's web?– web is dead
Achievement unlocked!Tribute
![Page 130: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/130.jpg)
HTTP/2 vsnetwork performance patterns
![Page 131: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/131.jpg)
* domain sharding* asset concatenation
![Page 132: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/132.jpg)
* domain sharding* asset concatenation
it's a single connection with HTTP/2
![Page 133: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/133.jpg)
* resource inlining
![Page 134: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/134.jpg)
* resource inlining
server push is better!
![Page 135: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/135.jpg)
Content Delivery Networks
![Page 136: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/136.jpg)
![Page 137: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/137.jpg)
![Page 138: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/138.jpg)
* compression* reducing HTTP redirects* reducing DNS lookups* caching on the client
![Page 139: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/139.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/140.jpg)
![Page 141: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/141.jpg)
caniuse.com
![Page 142: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/142.jpg)
The future is now(!?)
![Page 143: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/143.jpg)
HTTP 2.0the future of WWW
HTTP/2
thanks!?
@tkaczmarzykblog.kaczmarzyk.net
Tomek “Kosior” Kaczmarzyk
![Page 144: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/144.jpg)
FAQ
![Page 145: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/145.jpg)
Where can I find more information about HTTP/2?
![Page 146: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/146.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/147.jpg)
The future is now? Really?
![Page 148: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/148.jpg)
“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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/149.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/150.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/151.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/152.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/153.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/154.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/155.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/156.jpg)
Are there any downsidesof one connection per origin?
![Page 157: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/157.jpg)
server
client
![Page 158: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/158.jpg)
server
client
1
3
2
![Page 159: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/159.jpg)
server
client
1
3
2
![Page 160: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/160.jpg)
server
client
1
3
2
![Page 161: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/161.jpg)
server
client
1
3
2
TCP buffer: 1 3
![Page 162: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/162.jpg)
server
client
1
3
TCP buffer: 1 3
2
![Page 163: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/163.jpg)
server
client
1
3
TCP buffer: 1 3
22x ACK
![Page 164: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/164.jpg)
server
client
1
3
TCP buffer: 1 3
22x ACK
retra
nsmit
![Page 165: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/165.jpg)
server
client
1
3
TCP buffer: 1 3
22x ACK
retra
nsmit
2
![Page 166: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/166.jpg)
server
client
TCP buffer:
1
3
22x ACK
retra
nsmit
1 32
ACK
![Page 167: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/167.jpg)
“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](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/168.jpg)
Server pushvs
SSE & web sockets
![Page 169: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/169.jpg)
Why do we needheader compression?
![Page 170: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/170.jpg)
Why HPACK?
![Page 171: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/171.jpg)
Morequestions? :)
![Page 172: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/172.jpg)
HTTP 2.0the future of WWW
HTTP/2
thanks!?
@tkaczmarzykblog.kaczmarzyk.net
Tomek “Kosior” Kaczmarzyk
![Page 173: HTTP/2 -- the future of WWW](https://reader035.vdocuments.mx/reader035/viewer/2022070512/589eb5ed1a28ab4a5c8b4dbf/html5/thumbnails/173.jpg)
Acknowledgements
https://www.flickr.com/photos/eldelinux/15041976222/
Ilya Grigorik (@igrigorik)
“High performance browser networking”
https://www.flickr.com/photos/cblue98/5115058146
Photo Credit