Abstract
The HTTP/1.1 protocol has long been a staple on the web, for both pages and apps. However, it has started to show its age, especially with regard to page load performance and the overhead it entails due to its use of multiple underlying connections. Its successor, the newly standardized HTTP/2, aims to improve the protocol’s performance and reduce its overhead by (1) multiplexing multiple resources over a single TCP connection, (2) by using advanced prioritization strategies and by introducing new features such as (3) Server Push and (4) HPACK header compression.
This work provides an in-depth overview of these four HTTP/2 performance aspects, discussing both synthetic and realistic experiments, to determine the gains HTTP/2 can provide in comparison to HTTP/1.1 in various settings. We find that the single multiplexed connection can actually become a significant performance bottleneck in poor network conditions with high packet loss and that HTTP/2 rarely improves much on HTTP/1.1, except in terms of reduced overhead. Prioritization strategies, Server Push and HPACK compression are found to have a relatively limited impact on web performance, but together with other observed HTTP/2 performance problems this could also be due to faulty current implementations, of which we have discovered various examples.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
References
Alpichi, K.: HTTP Pipelining. https://blog.cloudflare.com/hpack-the-silent-killer-feature-of-http-2/ (2017). Accessed 08 Aug 2017
Beheshti, H.: HTTP/2: What No One’s Telling You (2016). http://www.slideshare.net/Fastly/http2-what-no-one-is-telling-you. Accessed 01 Mar 2017
Belshe, M., Peon, R., Thomson, M.: HyperText Transfer Protocol Version 2 (2015). https://tools.ietf.org/html/rfc7540. Accessed 01 Mar 2017
Bergan, T.: Benchmarking HTTP/2 Priorities, October 2016. https://docs.google.com/document/d/1oLhNg1skaWD4_DtaoCxdSRN5erEXrH-KnLrMwEpOtFY/
Bergan, T., Pelchat, S., Buettner, M.: Rules of Thumb for HTTP/2 Push (2016). https://docs.google.com/document/d/1K0NykTXBbbbTlv60t5MyJvXjqKGsCVNYHyLEXIxYMv0
Carlucci, G., De Cicco, L., Mascolo, S.: HTTP over UDP: an Experimental Investigation of QUIC. In: Proceedings of the ACM Symposium on Applied Computing, pp. 609–614. ACM (2015)
Corbel, R., Stephan, E., Omnes, N.: HTTP/1.1 pipelining vs HTTP2 in-the-clear: performance comparison. In: 2016 13th International Conference on New Technologies for Distributed Systems (NOTERE), pp. 1–6, July 2016
Erman, J., Gopalakrishnan, V., Jana, R., Ramakrishnan, K.K.: Towards a SPDY’ier Mobile Web? In: Proceedings of the Ninth ACM Conference on Emerging Networking Experiments and Technologies, CoNEXT 2013, pp. 303–314. ACM, New York (2013). https://doi.org/10.1145/2535372.2535399
Everts, T., Kadlec, T.: WPO Stats (2017). https://wpostats.com/. Accessed 03 Aug 2017
Goel, U., Steiner, M., Wittie, M.P., Flack, M., Ludin, S.: HTTP/2 performance in cellular networks: poster. In: Proceedings of the 22nd Annual International Conference on Mobile Computing and Networking, MobiCom 2016, pp. 433–434. ACM, New York (2016). https://doi.org/10.1145/2973750.2985264
Gooding, M., Garza, J.: Real World Experiences with HTTP/2 (2016). https://www.slideshare.net/JavierGarza18/real-world-experiences-with-http2-michael-gooding-javier-garza-from-akamai. Accessed 01 Mar 2017
Grigorik, I.: High Performance Browser Networking. O’Reilly Media Inc, Sebastopol (2013)
Kohavi, R., Deng, A., Longbotham, R., Xu, Y.: Seven rules of thumb for web site experimenters. In: Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 1857–1866. ACM (2014)
Krasnov, V.: HPACK: The Silent Killer (feature) of HTTP/2 (2017). https://developer.mozilla.org/en-US/docs/Web/HTTP/Connection_management_in_HTTP_1.x#HTTP_pipelining. Accessed 08 Aug 2017
Liu, Y., Ma, Y., Liu, X., Huang, G.: Can HTTP/2 really help web performance on smartphones? In: 2016 IEEE International Conference on Services Computing (SCC), pp. 219–226. IEEE (2016)
Manzoor, J., Drago, I., Sadre, R.: The curious case of parallel connections in HTTP/2. In: International Conference on Network and Service Management (CNSM), pp. 174–180. IEEE (2016)
Marx, R.: HTTP/2 Push: The Details (2016). http://calendar.perfplanet.com/2016/http2-push-the-details/. Accessed 01 Mar 2017
Marx, R., Quax, P., Faes, A., Lamotte, W.: Concatenation, embedding and sharding: do HTTP/1 performance best practices make sense in HTTP/2? In: Proceedings of the 13th International Conference on Web Information Systems and Technologies (WEBIST 2017), pp. 160–173. INSTICC, ScitePress (2017)
Meenan, P.: Speed Index (2012). https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index. Accessed 01 Mar 2017
Meenan, P.: Webpagetest (2016). https://webpagetest.org. Accessed 01 Mar 2017
Mi, X., Qian, F., Wang, X.: SMig: stream migration extension for HTTP/2. In: Proceedings of the Ninth ACM Conference on Emerging Networking Experiments and Technologies (CoNEXT 2016), pp. 121–128 (2016)
Netravali, R., Goyal, A., Mickens, J., Balakrishnan, H.: Polaris: faster page loads using fine-grained dependency tracking. In: 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2016) (2016)
de Oliveira, I.N., Endo, P.T., Melo, W., Sadok, D., Kelner, J.: Should i wait or should i push? A performance analysis of push feature in HTTP/2 connections. In: Proceedings of the Workshop on Fostering Latin-American Research in Data Communication Networks. ACM (2016)
Peon, R., Ruellan, H.: HPACK: Header Compression for HTTP/2 (2015). https://www.rfc-editor.org/rfc/rfc7541.txt. Accessed 07 Aug 2017
de Saxcé, H., Oprescu, I., Chen, Y.: Is HTTP/2 really faster than HTTP/1.1? In: IEEE Conference on Computer Communications Workshops (INFOCOM), pp. 293–299. IEEE (2015)
Varvello, M., Schomp, K., Naylor, D., Blackburn, J., Finamore, A., Papagiannaki, K.: Is the web HTTP/2 yet? In: Karagiannis, T., Dimitropoulos, X. (eds.) PAM 2016. LNCS, vol. 9631, pp. 218–232. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-30505-9_17
Wang, X.S., Balasubramanian, A., Krishnamurthy, A., Wetherall, D.: How speedy is SPDY? In: NSDI, pp. 387–399 (2014)
Wang, Z.: Navigation Timing API (2012). https://www.w3.org/TR/navigation-timing. Accessed 01 Mar 2017
Yue, C., Xie, M., Wang, H.: An automatic HTTP cookie management system. Comput. Netw. 54(13), 2182–2198 (2010)
Zarifis, K., Holland, M., Jain, M., Katz-Bassett, E., Govindan, R.: Making effective use of HTTP/2 server push in content delivery networks. Technical report, University of Southern California, Networked Systems Laboratory, January 2017
Zimmermann, T., Rüth, J., Wolters, B., Hohlfeld, O.: How HTTP/2 pushes the web: an empirical study of HTTP/2 server push. In: 2017 IFIP Networking Conference and Workshops (2017)
Acknowledgements
This work is part of the imec ICON PRO-FLOW project. The project partners are among others Nokia Bell Labs, Androme, Barco and VRT. Robin Marx is a SB PhD fellow at FWO, Research Foundation - Flanders, project number 1S02717N. Thanks to messrs Goel, Michiels, Robyns, Menten, Bonné and our anonymous reviewers for their help.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Marx, R., Wijnants, M., Quax, P., Faes, A., Lamotte, W. (2018). Web Performance Characteristics of HTTP/2 and Comparison to HTTP/1.1. In: Majchrzak, T., Traverso, P., Krempels, KH., Monfort, V. (eds) Web Information Systems and Technologies. WEBIST 2017. Lecture Notes in Business Information Processing, vol 322. Springer, Cham. https://doi.org/10.1007/978-3-319-93527-0_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-93527-0_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-93526-3
Online ISBN: 978-3-319-93527-0
eBook Packages: Computer ScienceComputer Science (R0)