Http2 right now

Post on 15-Jul-2015

8033 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

Transcript

HTTP/2 right now

Daniel Stenberg, February 1st 2015

Agenda

HTTP Today

HTTP/2 basics

Status

Future

Q&A

Daniel Stenberg

Email: daniel@haxx.seTwitter: @bagderWeb: daniel.haxx.seBlog: daniel.haxx.se/blog

network hacker at

Please ask!

… but wait for the Q&A and if not enough, just catch me afterward.

Today

HTTP for everythingThe web has changed significantly since 1996

Request and payload growth

in 4 years...

7777

100100

725K725K

1900K1900K

http

arch

ive.

org

connections per page

38ht

tpar

chiv

e.or

g

Latency adds up

4,000 ms

750 ms

Page load time

Round trip time0 ms 240 ms

Mik

e Be

lshe

Head of line blocking

HTTP 1.1 work-arounds

Spriting

Inlining

.icon1 { background: url(data:image/png;base64,<data>) no-repeat;}

.icon2 { background: url(data:image/png;base64,<data>) no-repeat;}

Concatenation

$ cat *.js > a-single-monster.js

Sharding

Quirky work-arounds

Annoying for developersAdds layers of toolsHampers cachingDownloads too much

HTTP/2

“Just a new framing layer”

maintains HTTP paradigmshttp:// and https:// URLs cannot be changedHTTP/1.1 servers and clients will be around for decadesProxies must be able to convert 1:1Less optional partsNo more minor version!

HTTP/2 framing

BinaryMultiplexed streams; with individual priorities, dependencies and flow-controlHeader compressionServer push

HTTP/2 is not

Mandatory TLSChanging HTTP headers

How will HTTP/2 affect web users?

Faster page loadsMore responsive loading

How will HTTP/2 affect web development?

HTTP/1 work-arounds hurt HTTP/2 perfNeed to do separate tweaksMaximum HTTP/2 usage will need some time

Implementations

Nghttp2Http2-katanaNode-http2FirefoxHttp2-perlIij-http2AkamaiChrome

TwitterWiresharkEricsson MSPHttp2 (Go)Http2-goOkHttpTrusterd

Google GFEDeuteriumHyperUndertowF5SasazkaLucidH2O

curlCl-http2NettyJettyMicrosoftHttp-2Apachenginx

https://github.com/http2/http2-spec/wiki/Implementations

Will HTTP/2 get widely deployed?

“Look at IPv6”SPDY proved fast growth can happenMajor browsers are on the trainMany sites already did SPDY - likely to go HTTP/2

How will HTTP/2 affect web development?

HTTP/1 work-arounds hurt http2 perfNeed to do separate tweaksMaximum HTTP/2 usage will need some time

HTTP/2 – Status of February 1st 2015

Firefox: HTTP/2 in 9% of all HTTP responses1

HTTP/2 is used 9 times more than HTTP/1.0

Google: HTTP/2 used in 5% of global traffic2

IPv6: 5% today, almost 20 years after first RFC

1. Rough and not statistically sound numbers from Mozilla Telemetry data for Firefox 35.2. Rough and rapidly changing numbers in an evolving climate. Graciously provided by Google.

Schedule

IETF Last Call ended on January 14th

Firefox 35 – enabled by default January 13th

Chrome 40 – enabled by default January 21st

HTTP/2 final RFC in Q1 2015 ?

HTTP/3 ?

HTTP/2 lays the foundation for the futureTime to drop legacy HTTP “mistakes”?HTTP/3 can happen sooner than the 1.1 to 2 took

Thank you!

See also http2 explained: http://daniel.haxx.se/http2

Doing good is part of our code

Credits

✗ HTTP and TCP trend numbers from http://httparchive.org

✗ RTT / page load data from Mike Belshe✗ HTTP/2 usage numbers by Google and Firefox Telemetry

✗ Lego pieces borrowed from my kids

License

This presentation and its contents are licensed under the Creative Commons Attribution 4.0 license: http://creativecommons.org/licenses/by/4.0/

top related