u p d a t e - archive.fosdem.org€¦ · fosdem, brussels, january 30th 2016 u p d a t e. http/2...

24
FOSDEM, Brussels, January 30 th 2016 update

Upload: others

Post on 22-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

FOSDEM, Brussels, January 30th 2016

update

Page 2: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

HTTP/2 basicsStatusDeployFuture

Page 3: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Email: [email protected]: @bagderWeb: daniel.haxx.seBlog: daniel.haxx.se/blog

network hacker at

Daniel Stenberg

Page 4: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

about the protocolabout the protocol

Page 5: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Why HTTP/2HTTP/1 ping-pong… makes it latency sensitiveTCP connection fatigueHTTP Pipelining failedDeliver more data earlier!

Page 6: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Speed of light reminder

The world is still big+ slower through fiber+ never the shortest distance+ buffer (bloat)+ radio networks =Several hundred milliseconds

Page 7: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

HTTP/2Multiplexed streamsCompressed headersServer pushMaintains HTTP paradigms

Page 8: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Resp 3

Multiplexed and compressed

HTTP/1.1

Req 1

Resp 1

Req 2

Resp 2

Req 1Req 2Req 3Req 4 Resp 1

Resp 2

Resp 4

HTTP/2

● no gaps● more requests● earlier responses

Page 9: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Many TCP vs one

HTTP/1.1 HTTP/2

Page 10: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Resp 3

Server push

Req 1Req 2Req 3Req 4

Resp 1Resp 2

Resp 4

HTTP/2

Push 1 Push 2

Page 11: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

HTTP paradigms stayHeader and bodyHTTP:// and HTTPS://Most client-side apps won't noticeMost server-side apps won't notice

Page 12: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

statusstatus

Page 13: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

browsers

Page 14: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

servers

Page 15: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

HTTP/2 – January 2016

Browsers are HTTPS-only

Firefox: 17% HTTP/2

30% of HTTPS

HTTP/2 in 70% of browsers

Page 16: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

HTTP/2 for content – January 2016

51% of HTTPS contents over HTTP/2

29% of SSL sites within top-1000 use SPDY or HTTP/2

Googlebot groks HTTP/2 early 2016

Page 17: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

deploydeploy

Page 18: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Poking at it

SPDY Indicator

Apache, NGINX,H2O, ATS, Caddy, Litespeednghttp2

curlwiresharkh2i

Page 19: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Challenges for you

h2 is straight-forward, but ...HTTPS!OpenSSL / other TLS-lib versions and ALPNMixed content / adsCerts and Let's Encrypt

Page 20: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

HTTP/2 – what to expect for your site

It depends20% - 60% faster is commonServer push makes a differencePriorities is keyRemember: HTTPSShorten dependency chains!

Page 21: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

the HTTP futurethe HTTP future

Page 22: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Improving what we have

h2 server push improvementsh2 extensions have not taken offh2 client certs?(slightly) improved cookiesGuide to TCP when writing HTTPMore HTTPS, blind caches?Better h2 tools, more h2 comparisons

Page 23: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Beyond HTTP/2

Time to drop HTTP/1 legacies

HTTP/3 will happen faster

QUIC and the OSI model crash

Page 24: u p d a t e - archive.fosdem.org€¦ · FOSDEM, Brussels, January 30th 2016 u p d a t e. HTTP/2 basics Status Deploy Future. Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se

Doing good is part of our code

Thank you!