Advertisement

Web Performance Characteristics of HTTP/2 and Comparison to HTTP/1.1

  • Robin MarxEmail author
  • Maarten WijnantsEmail author
  • Peter QuaxEmail author
  • Axel FaesEmail author
  • Wim LamotteEmail author
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 322)

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.

Keywords

HTTP/2 Web performance Best practices HTTP Server push Prioritization Networking Measurements 

Notes

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.

References

  1. 1.
    Alpichi, K.: HTTP Pipelining. https://blog.cloudflare.com/hpack-the-silent-killer-feature-of-http-2/ (2017). Accessed 08 Aug 2017
  2. 2.
    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
  3. 3.
    Belshe, M., Peon, R., Thomson, M.: HyperText Transfer Protocol Version 2 (2015). https://tools.ietf.org/html/rfc7540. Accessed 01 Mar 2017
  4. 4.
    Bergan, T.: Benchmarking HTTP/2 Priorities, October 2016. https://docs.google.com/document/d/1oLhNg1skaWD4_DtaoCxdSRN5erEXrH-KnLrMwEpOtFY/
  5. 5.
    Bergan, T., Pelchat, S., Buettner, M.: Rules of Thumb for HTTP/2 Push (2016). https://docs.google.com/document/d/1K0NykTXBbbbTlv60t5MyJvXjqKGsCVNYHyLEXIxYMv0
  6. 6.
    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)Google Scholar
  7. 7.
    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 2016Google Scholar
  8. 8.
    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
  9. 9.
    Everts, T., Kadlec, T.: WPO Stats (2017). https://wpostats.com/. Accessed 03 Aug 2017
  10. 10.
    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
  11. 11.
    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
  12. 12.
    Grigorik, I.: High Performance Browser Networking. O’Reilly Media Inc, Sebastopol (2013)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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
  15. 15.
    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)Google Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    Marx, R.: HTTP/2 Push: The Details (2016). http://calendar.perfplanet.com/2016/http2-push-the-details/. Accessed 01 Mar 2017
  18. 18.
    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)Google Scholar
  19. 19.
  20. 20.
    Meenan, P.: Webpagetest (2016). https://webpagetest.org. Accessed 01 Mar 2017
  21. 21.
    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)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    Peon, R., Ruellan, H.: HPACK: Header Compression for HTTP/2 (2015). https://www.rfc-editor.org/rfc/rfc7541.txt. Accessed 07 Aug 2017
  25. 25.
    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)Google Scholar
  26. 26.
    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_17CrossRefGoogle Scholar
  27. 27.
    Wang, X.S., Balasubramanian, A., Krishnamurthy, A., Wetherall, D.: How speedy is SPDY? In: NSDI, pp. 387–399 (2014)Google Scholar
  28. 28.
    Wang, Z.: Navigation Timing API (2012). https://www.w3.org/TR/navigation-timing. Accessed 01 Mar 2017
  29. 29.
    Yue, C., Xie, M., Wang, H.: An automatic HTTP cookie management system. Comput. Netw. 54(13), 2182–2198 (2010)CrossRefGoogle Scholar
  30. 30.
    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 2017Google Scholar
  31. 31.
    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)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.UHasselt-tUL-imec, EDMHasseltBelgium

Personalised recommendations