Measuring HTTP/3: Adoption and Performance
Total Page:16
File Type:pdf, Size:1020Kb
Measuring HTTP/3: Adoption and Performance Martino Trevisany, Danilo Giordanoy, Idilio Drago z, Ali Safari Khatouni? yPolitecnico di Torino, zUniversity of Turin, ?Shopify [email protected], unito.it, shopify.comg Abstract—The third version of the Hypertext Transfer real state of deployment nor the performance benefits of Protocol (HTTP) is currently in its final standardization phase HTTP/3 have been measured yet. by the IETF. Besides better security and increased flexibility, In this paper, we fill this gap by running a large-scale it promises benefits in terms of performance. HTTP/3 adopts a more efficient header compression schema and replaces TCP measurement study. Firstly, we collect data to understand to with QUIC, a transport protocol carried over UDP, originally what extent the web ecosystem already adopted HTTP/3. proposed by Google and currently under standardization too. Secondly, we run an experimental campaign to measure Although HTTP/3 early implementations already exist and the benefits introduced by HTTP/3 on the users’ Quality some websites announce its support, it has been subject to of Experience (QoE), and how HTTP/3 helps in different few studies. In this work, we provide a first measurement study on network conditions. HTTP/3. We testify how, during 2020, it has been adopted Using the open-source HTTPArchive Dataset, we find by some of the leading Internet companies such as Google, thousands of websites supporting HTTP/3, most of them Facebook and Cloudflare. We run a large-scale measurement owned by a handful of Internet hyper-giants, i.e., Facebook, campaign toward thousands of websites adopting HTTP/3, Google, and Cloudflare. We automatically visit the HTTP/3 aiming at understanding to what extent it achieves better performance than HTTP/2. We find that adopting websites websites under diverse network conditions to measure the often host most web page objects on third-party servers, which performance benefits in terms of QoE-related metrics. We support only HTTP/2 or even HTTP/1.1. Our experiments visit 14 707 websites while emulating artificial latency, show that HTTP/3 provides sizable benefits only in scenarios packet loss, and limiting the bandwidth. In total, we with high latency or very poor bandwidth. Despite the run 735 350 visits over a period of one month. We find adoption of QUIC, we do not find benefits in case of high packet loss, but we observe large diversity across website that HTTP/3 benefits emerge only on particular network providers’ infrastructures. conditions and strongly differ across website providers. Our Index Terms—HTTP/3 ; Performance ; Measurements key findings are the following: • Google, Facebook and Cloudflare are the early I. INTRODUCTION adopters of HTTP/3, representing almost the totality The Hypertext Transfer Protocol (HTTP) is the king of of currently HTTP/3 enabled websites. web protocols and is used to access a plethora of services • For most of them, the majority of web page objects available on the Internet, from websites to social networks are still hosted on non-HTTP/3 third-party servers. and collaborative platforms. HTTP was born in the early • We observe sizable performance benefits only in sce- 90s, and its first version 1.1 was standardized in 1997 [1]. narios with high latency or poor bandwidth. For more than a decade, this version remained unchanged. • The performance speed-up largely depends on the Only in 2014, HTTP/2 [2] was proposed, with substantial infrastructure hosting the website. changes in the framing mechanisms. HTTP/3 is the third • Websites requiring few connections to load are those version of HTTP and is currently in the final standard- benefiting the most. ization phase at the IETF [3]. It promises performance The remainder of the paper is organized as follows: benefits and security improvements compared to version Section II describes HTTP/3 and illustrates related work. arXiv:2102.12358v1 [cs.NI] 24 Feb 2021 2. As a major change, HTTP/3 replaces TCP as transport Section III presents the datasets we use and how we collect layer in favor of QUIC, a UDP-based protocol originally them, and Section IV illustrates our results on HTTP/3 proposed by Google and currently being standardized by adoption and performance. Finally, Section V states the the IETF [4]. Furthermore, it introduces a more effective limitations of our measurements and poses the basis for header compression mechanism and exploits TLS 1.3 [5] future work, while Section VI concludes the paper. or higher to improve the level of security. HTTP/3 is expected to supplant HTTP/2 in the next II. BACKGROUND years, and some of the leading Internet companies already A. HTTP/3 announced its support during 2020 (e.g., the CloudFlare 1 2 The HTTP/3 protocol is the third version of the well- CDN and Facebook ). However, currently neither the known Hypertext Transfer Protocol, born in the 90s to transfer multimedia content and hyper-textual documents 1https://blog.cloudflare.com/http3-the-past-present-and-future/ 2https://engineering.fb.com/2020/10/21/networking-traffic/ over the nascent Internet. With its version 1.1, it has how-facebook-is-bringing-quic-to-billions/ been the king of web protocols for more than 20 years, TABLE I: Description of the employed datasets. HTTP/1.1 HTTP/2 HTTP/3 Dataset Visits Goal TLS TLS QUIC HTTPArchive 53 107 185 (optional) (+TLS 1.3) HTTP/3 Adoption BrowserTime 735 350 HTTP/3 Performance TCP TCP UDP IP Google firstly proposed QUIC in 2012 and, as such, has been the subject of many studies. For example, Wolsing et Fig. 1: Protocol stack for different HTTP versions. al. [12] show that QUIC still outperforms TCP thanks to the fast connection setup. Manzoor et al. [13] show how QUIC performs worse than TCP in Wireless Mesh Networks. superseded only by its second version HTTP/2 in 2014. Wolsing et al. [14] found that QUIC reduces the overall HTTP/2 implemented several novel features, especially page retrieval time compared with standard HTTP. Kakhi et to improve how the data is framed and transported. It al. [15] run a large-scale measurement campaign on QUIC, promised to make the web faster even if its benefits have finding that it outperforms TCP in most cases. However, not universally accepted [6], [7]. these works target older Google’s QUIC versions, while the HTTP/3 is the third version of HTTP. It is currently current standard proposed at the IETF has made significant in the final standardization phase, reaching the 34th draft progress [16]. Moreover, they focus uniquely on QUIC as version [3] and making it stable and usable for real de- the transport layer, neglecting the improvement introduced ployments. The main improvements from version 2 include in HTTP/3 and TLS 1.3, that we aim at measuring in this more efficient header compression, advanced security fea- work. tures based on TLS 1.3, and, especially, the use of QUIC at the transport layer. The resulting protocol stack is thus III. DATA COLLECTION heavily modified, as we show in Figure 1. QUIC, initially We rely on two datasets to study (i) the adoption developed by Google, is a transport protocol based on UDP of HTTP/3 and (ii) its performance on diverse network and is currently in the standardization phase too [4]. QUIC conditions. We summarize them in Table I. revisits TCP, moving congestion control in user space and allowing faster handshakes. Moreover, it solves the long- A. HTTPArchive standing issue of head-of-line blocking, allowing multiple We study the adoption of HTTP/3 using the independent streams within the same connection. Indeed, HTTPArchive, an open dataset available online.3 The QUIC allows independent retransmission for sub-streams dataset contains metadata coming from visits to a list and decouples it from congestion control. This operation of more than 5 M URLs provided by the Chrome User is expected to improve users’ QoE with faster website Experience Report.4. The list of URL is built using the responsiveness, especially in scenarios with poor network navigation data of real Chrome users and contains a conditions. HTTP/3 also mandates the use TLS 1.3 [5], representative view of the most popular website and web directly incorporated at the QUIC layer. Besides the dep- services accessed worldwide.5 Each month, all URLs are recation of older cipher suites, it allows 1-RTT handshakes visited using the Google Chrome browser from a US data and 0-RTT resumption, further reducing session setup time. center, and the resulting navigation data is made public. For each visit, the dataset contains information about the B. Related Work page performance and characteristics as well as details on all the HTTP transactions in the HAR format6, including Given its recent conception, few works already targeted request and response headers. HTTP/3. Saif et al. [8] run experiments controlling both Fundamental for our analyses, the details of HTTP client and server accessing a single web page. They study responses indicate the eventual Alt-Svc header, which the effect of delay, packet loss and throughput but do not is used by servers to announce support to HTTP/3. By measure any major impact on performance. In contrast setting the Alt-Svc header, the server has the possibility to them, we run a large-scale measurement campaign, to inform the client to make subsequent connections using controlling only the client and targeting thousands of HTTP/3 and may specify the support to specific draft HTTP/3 websites residing on their original servers. Marx et versions (e.g., 27 or 29). al. [9] compare 15 HTTP/3 implementations, finding a We download the HTTPArchive dataset starting from large heterogeneity in how congestion control, prioritiza- November 2019, when we observe the first websites offer- tion and packetization work.