Download - So that was HTTP/2, what's next?
So that was
HTTP/2, what's next?
February 4 2017
Questions?
I’ll hang around I’ll hang around outside the outside the
room afterwardroom afterward
Daniel Stenberg@bagder
Request and payload growth
in the last 5 years ...
8080
100100
800K800K
2.5M2.5M
the average website loads 50+ resources on a single domain
Head of line blockingHead of line blocking
Multiplexed (1/2)
Multiple streams over a single physical connection
Max number of parallel streams set by peer
Multiplexed (2/2)
Better utilization of bandwidth
So that was HTTP/2 February 4, 2017
Adoption, usage, support
servers
browsers
Browser stats – Feb 2017
HTTP/2:
Share of HTTPS:
30%30%
60%60%
Internetz – February 2017
12% of top 10 million
23% of top 10,000
26% of top 1000
>50% for your site
Winners and losers
So that was HTTP/2 February 4, 2017
Did HTTP/2 meet its promises
The remote corners of Internet
Percentile Desktop Mobile
5 1 11
25 20 44
50 79 94
75 194 184
95 800 913
Milliseconds RTT
Queuing time h1 vs h2(Time waiting internally to send off a HTTP request)
Percentile HTTP 1 HTTP 2
80 100 ms 2 ms
95 2000 ms 16 ms
>100ms: H1 20%, H2 3%
0% packet loss
Image and data by Hooman Beheshti, Fastly
2% packet loss
Image and data by Hooman Beheshti, Fastly
Packet loss, hey?
Single connection vs 6
Head of line blocking
A single dropped packet blocks everything
Packet loss, hey?
TLS TLS TLS
HTTP/2 frame
HTTP/2 frame
HTTP/2 frame
HTTP/2 frame
HTTP/2 frame
IP IP IP IP IP IPTCP TCP TCP TCP
Packet loss, hey?
IP
HTTP/2 frame
HTTP/2 frame
HTTP/2 frame
HTTP/2 frame
HTTP/2 frame
TCP TCP TCP TCPTLS TLS TLS
IP IP IP IP IP IP
Fixing TCP head of blocking
A non-blocking TCP + TLS + HTTP/2
Needs independent packets
… that still are stream aware
Needs new retransmissions/ACKs
New protocol?
Fixing TCP takes decades –if even doable
QUIC
“TCP”, TLS and HTTP/2 over UDP
no TCP head of line blocking
other congestion control
move across interfaces
“TCP improvements” - much faster
Google has this widely deployed already
UDP not as problematic as we thought
Packet loss, hey?
IPUDP UDP UDP UDP UDP UDPquic quic quic quic quic quicTLS TLS TLS TLS TLS TLSh2 h2 h2 h2 h2 h2
IP IP IP IP IP IP
The IETF QUIC wg
Just started
Massive interest
s/custom crypto/TLS 1.3
Will transfer more than HTTP/2 frames
First interim meeting in Tokyo in Jan ‘17
IETF-QUIC vs Google-QUIC
Maybe early live test around mid-2017
That means That means maybemaybe and and earlyearly tests tests
Neither 3 nor 2
Perhaps “HTTP/3”, but not in name
Perhaps “TCP/2”, but not in name
Just QUIC
Round-up
HTTP/1 is not optimal
HTTP/2 is binary and multipled
HTTP/2 is widely used
HTTP/2 makes sites faster
(IETF-)QUIC is coming
QUIC is HTTP/2 frames over UDP
Thank you!
Questions outside!