Source: HTTP/2 Adoption Dashboard (maintained by Telefónica Research, Case Western Reserve University,
and Carnegie Mellon University
• 2014 - Google deploys HTTP/2 over UDP. Calls it “QUIC”.
• November 2016 - Google takes QUIC to IETF. QUIC working group forms. Turned
into a Transport protocol.
• June 2018 - Google implements custom QUIC.
• November 2018
• Litespeed and Facebook test first functional HTTP/3 web server
• IETF changes the name for HTTP-over-QUIC to be HTTP/3
• April 2019 - Cloudflare releases Warp VPN based on QUIC draft
• July 2019 - HTTP/3 Draft expires at IETF
• August 2019 - Chromium fork released. Initial support for end-to-end iQUIC +
• September 2019 - cURL, NGINX, Google Chrome show early HTTP/3 support
HTTP/2 Connection Versus HTTP 1.1
Image Source: Cloudflare
HTTP/3 ConnectionVersus HTTP/2
Image Source: Medium
Wasn't HTTP/2 multiplexing supposed to solve Head of Line Blocking?
HTTP level = YES. TCP level = NO.
Latency and Dropped Packets Expose This Problem.
QUIC is an attempt to fix it all once and for all...
Challenges To Testing
•Lack of Support
•Draft code still has debugging (slower)
•Few Web Server Choices:
•LiteSpeed Enterprise (-not- OpenLiteSpeed)
•Caddy Server (VERY NEW)
•Cloudfare does not support it (yet)
•+/- 5% QUIC connections fail
•CPU Intensive - Requires 2X or more servers
•UDP on port 443 is blocked
•UDP is not as optimized as TCP
•No standard API for QUIC (yet)
“Tools? Where we're going, we don't need tools.”
• Using a realistic web site,
• HTTP 1.1
• HTTP/3 (QUIC)
• Cloudflare/No Cloudflare
• Netropy Proxy
• Is Head of Line Blocking gone?
“I apologizefor the crudityofthis model...”
• Set up and configure cloud server instance (Ubuntu 18.04)
• Seperate Database (MySQL 8 on AWS RDS service)
• Litespeed web server with PHP 7.3
• Wordpress with custom theme
• Setup Domain, Email, and Cloudflare DNS/Caching
• Set up Network Emulation (Netropy Proxy)
• Baseline with GTMetrix, Web Page Test, Chrome DevTools
• Run up to 50 virtual users with NeoLoad
Test Results - HTTP 2- WITH Network Emulation- LTE
Test Results - HTTP 2- WITH Network Emulation- Satellite
Test Results - QUIC - WITH Network Emulation- LTE
Test Results - QUIC - WITH Network Emulation- Satellite
• It SEEMS to remove HTTP HOL - but...
• Requires more server CPU/Memory
• Low Bandwidth situations benefit the most
• Will need to be tested as the spec evolves
• Test Cases Should include
• TCP transition to UPD will be slow
• UDP will need to be optimized
• Additional protocols will come (i.e. DNS)
Who To Follow
• Robin Marx - @programmingart
• Daniel Stenberg (cURL) - @bagder
• Lucas Pardue - @SimmerVigor
• Barry Pollard - @tunetheweb
• Scott Moore - @loadtester
• Apposite Technologies - @Apposite_Tech