HTTP/2 Daniel Stenberg, Mozilla @bagder HTTP Today HTTP/2 basics - - PowerPoint PPT Presentation

http 2
SMART_READER_LITE
LIVE PREVIEW

HTTP/2 Daniel Stenberg, Mozilla @bagder HTTP Today HTTP/2 basics - - PowerPoint PPT Presentation

HTTP/2 Daniel Stenberg, Mozilla @bagder HTTP Today HTTP/2 basics Status Future Daniel Stenberg network hacker at Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se Blog: daniel.haxx.se/blog Internet Today Internet


slide-1
SLIDE 1

HTTP/2

Daniel Stenberg, Mozilla @bagder

slide-2
SLIDE 2
slide-3
SLIDE 3

HTTP Today HTTP/2 basics Status Future

slide-4
SLIDE 4 Email: daniel@haxx.se Twitter: @bagder Web: daniel.haxx.se Blog: daniel.haxx.se/blog

network hacker at

Daniel Stenberg

slide-5
SLIDE 5 Internet Today Internet Today

HTTP for HTTP for everything everything The web has The web has changed changed signifjcantly signifjcantly since 1996 since 1996

slide-6
SLIDE 6 Request and payload growth

in the last 4 years...

80 80 100 100 800K 800K 2100K 2100K

httparchive.org
slide-7
SLIDE 7 connections per page h t t p a r c h i v e .
  • r
g
slide-8
SLIDE 8 Roundtrip Bonanza
slide-9
SLIDE 9 Latency adds up 4,000 ms 750 ms Page load time Round trip time 0 ms 240 ms M i k e B e l s h e
slide-10
SLIDE 10

Head of line blocking Head of line blocking

slide-11
SLIDE 11

HTTP 1.1 HTTP 1.1 workarounds workarounds

slide-12
SLIDE 12

Spriting Spriting

slide-13
SLIDE 13

Inlining Inlining

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

$ cat *.js > single-monster.js

slide-15
SLIDE 15 Sharding
slide-16
SLIDE 16
slide-17
SLIDE 17

RFC 7540 RFC 7540

slide-18
SLIDE 18

Just a new framing layer

maintains HTTP paradigms http:// and https:// URLs remain HTTP/1.1 will linger for decades Proxies to convert 1:1

slide-19
SLIDE 19

Conservative in what you accept

less optional parts no minor version!

slide-20
SLIDE 20 Binary

No more telnet tricks Easier framing TLS and compression anyway... Wireshark inspector frame types, like HEADERS and DATA

slide-21
SLIDE 21 Multiplexed (1/2) Multiple streams over a single physical connection Max number of parallel streams set by peer
slide-22
SLIDE 22 Multiplexed (2/2)
slide-23
SLIDE 23

One TCP connection One TCP connection

slide-24
SLIDE 24 Better utilization of bandwidth
slide-25
SLIDE 25

Streams Streams

Dynamic priority Flow control Dependencies A A B B C C

slide-26
SLIDE 26 Header compression

headers are big and repetitive 1.1 has no header compression HPACK

slide-27
SLIDE 27 Server push Give me HTML please! Here's HTML for you Here's CSS for you
slide-28
SLIDE 28

Stricter TLS Stricter TLS

TLS version 1.2+ only TLS version 1.2+ only Stricter cipher suite requirements Stricter cipher suite requirements No compression No compression No renegotiations No renegotiations

slide-29
SLIDE 29 HTTP/2 is not

Mandatory TLS Changing HTTP headers

slide-30
SLIDE 30 How will HTTP/2 afgect users?

Faster page loads More responsive loading More HTTPS

slide-31
SLIDE 31 How will HTTP/2 afg fgect web development?

Most things are unafg fgected HTTP/1 work-arounds hurt HTTP/2 perf Need to do separate tweaks Optimal HTTP/2 usage will need some time

slide-32
SLIDE 32 Implementations

Akamai Ghost, Apache Traffjc Server, http4s-blaze, Chromium, Chicken Scheme hpack lib, cl-http2- protocol, curl and libcurl, Deuterium, Ericsson MSP, F5, H2O, Haskell http2 lib, http-2, http2, hyper, hyper, Jetty, LiteSpeed Enterprise, Lucid, Microsoft, mod_h2, Mozilla Firefox, Netty, nghttp2, NGINX, node-http2, OkHttp, OpenLiteSpeed, Protocol::HTTP2, Brocade SteelApp Traffjc Manager, Sasazka, second-transfer, Test GFE, Trusterd, Twitter, Undertow, Warp, Wireshark

https://github.com/http2/http2-spec/wiki/Implementations
slide-33
SLIDE 33

browsers

slide-34
SLIDE 34 Will HTTP/2 get widely deployed? Will HTTP/2 get widely deployed?

YES YES

slide-35
SLIDE 35 Will HTTP/2 get widely deployed? Will HTTP/2 get widely deployed?

“ “Look at IPv6” Look at IPv6” All major browsers All major browsers Many sites already did SPDY Many sites already did SPDY Apache, nginx and more Apache, nginx and more

slide-36
SLIDE 36 HTTP/2 – October 2015

Browsers only over HTTPS Firefox: 14% HTTP/2 30% of HTTPS is HTTP/2 HTTP/2 is used 15 times more than HTTP/1.0 Google servers: 18% HTTP/2 HTTP/2 in 70% of browsers in use right now IPv6: 9% today, almost 20 years after fjrst RFC

slide-37
SLIDE 37

Future Future

HTTP/2 lays the foundation for the future HTTP/2 lays the foundation for the future Time to drop legacy HTTP “mistakes”? Time to drop legacy HTTP “mistakes”? HTTP/3 might happen faster HTTP/3 might happen faster QUIC QUIC

slide-38
SLIDE 38

Final recap Final recap

Binary and multiplexed Binary and multiplexed Primarily over TLS Primarily over TLS Users won't see a “2” Users won't see a “2” It's already here It's already here

slide-39
SLIDE 39

Thank you!

slide-40
SLIDE 40