Modern versions of the HTTP protocol, such as HTTP/2 over TCP and the upcoming HTTP/3 over QUIC, use just a single underlying connection to transfer multiple resources during a web page load. The resources are divided into chunks, optionally multiplexed on the connection, and reassembled at the receiver’s side. This poses challenges, as there are many different ways simultaneously requested resources can share the available bandwidth, and not all approaches perform equally well with regards to achieving low loading times. Making matters worse, HTTP/2’s prioritization system for directing this multiplexing behaviour is difficult to use and does not easily transfer to the new HTTP/3. In this work, we discuss these challenges in detail and empirically evaluate the multiplexing behaviours of 10 different QUIC implementations, as well as 11 different prioritization schemes for HTTP/3. We find that there are large differences between strategies that can have a heavy impact on page load performance, of up to 5x load time speedup in specific conditions. However, these improvements are highly context-sensitive, depending on web page composition and network conditions, turning the best performers for one setup into the worst for others. As such, we also critically evaluate the ability of the newly proposed HTTP/3 prioritization mechanism to flexibly deal with changing conditions.
[1]
Maarten Wijnants,et al.
HTTP/2 Prioritization and its Impact on Web Performance
,
2018,
WWW.
[2]
David Wetherall,et al.
Demystifying Page Load Performance with WProf
,
2013,
NSDI.
[3]
Axel Legay,et al.
Pluginizing QUIC
,
2019,
SIGCOMM.
[4]
Martin Thomson,et al.
QUIC: A UDP-Based Multiplexed and Secure Transport
,
2020,
RFC.
[5]
Kazuho Oku,et al.
Extensible Prioritization Scheme for HTTP
,
2019
.
[6]
Hari Balakrishnan,et al.
Polaris: Faster Page Loads Using Fine-grained Dependency Tracking
,
2016,
NSDI.
[7]
David Wetherall,et al.
Speeding up Web Page Loads with Shandian
,
2016,
NSDI.
[8]
Dario Rossi,et al.
Measuring the Quality of Experience of Web users
,
2016,
CCRV.
[9]
Harsha V. Madhyastha,et al.
Vroom: Accelerating the Mobile Web with Server-Aided Dependency Resolution
,
2017,
SIGCOMM.
[10]
Wim Lamotte,et al.
Of the Utmost Importance: Resource Prioritization in HTTP/3 over QUIC
,
2019,
WEBIST.