From Files to Streams: Revisiting Web History and Exploring Potentials for Future Prospects (2403.07828v2)
Abstract: Over the last 30 years, the World Wide Web has changed significantly. In this paper, we argue that common practices to prepare web pages for delivery conflict with many efforts to present content with minimal latency, one fundamental goal that pushed changes in the WWW. To bolster our arguments, we revisit reasons that led to changes of HTTP and compare them systematically with techniques to prepare web pages. We found that the structure of many web pages leverages features of HTTP/1.1 but hinders the use of recent HTTP features to present content quickly. To improve the situation in the future, we propose fine-grained content segmentation. This would allow to exploit streaming capabilities of recent HTTP versions and to render content as quickly as possible without changing underlying protocols or web browsers.
- 2023. webpack. https://webpack.js.org
- Frank Bajak. 1993. A World of Data Coming to Your Fingertips. Wiring the Planet. Part 2. San Francisco Examiner (May 1993), D1. https://sfexaminer.newspapers.com/browse/the-san-francisco-examiner_9317/1993/05/31/
- Mike Belshe and Roberto Peon. 2009. A 2x Faster Web. Chromium. https://blog.chromium.org/2009/11/2x-faster-web.html
- Tim Berners-Lee. 1999. The Original HTTP as defined in 1991. W3C. https://www.w3.org/Protocols/HTTP/AsImplemented.html
- Tim Berners-Lee. 2017. Tim Berners-Lee: WorldWideWeb, the first Web client. https://www.w3.org/People/Berners-Lee/WorldWideWeb.html
- Mike Bishop. 2023. HTTP/QUIC. What’s in a Name?. In IETF 103 Proc. IETF. https://datatracker.ietf.org/meeting/103/materials/slides-103-httpbis-httpquic-02
- Grant Blank and Bianca C Reisdorf. 2012. The participatory web: A user perspective on Web 2.0. Information, Communication & Society 15, 4 (2012), 537–554.
- Bert Bos. 2017. A brief history of CSS until 2016. https://www.w3.org/Style/CSS20/history.html
- CERN. 2016. Change History of W3C httpd. www.w3.org/Daemon/Features.html
- Ryan Dahl. 2009. node-v0.x-archive. https://github.com/nodejs/node-v0.x-archive/commit/19478ed4b14263c489e872156ca55ff16a07ebe0
- MDN Web Docs. 2024. Tree shaking. https://developer.mozilla.org/en-US/docs/Glossary/Tree_shaking
- Brendan Eich. 2023. Popularity. https://brendaneich.com/2008/04/popularity
- J. J. Garrett. 2005. Ajax. https://web.archive.org/web/20190119022701/https://adaptivepath.org/ideas/ajax-new-approach-web-applications
- D. Glasman. https://8thlight.com/insights/a-history-of-javascript-modules-and-bundling-for-the-post-es6-developer
- Google. 2023. Trends - Browserify, Webpack, React, Angular. https://trends.google.de/trends/explore?date=all&q=Browserify,Webpack,React%20JS,Angular%20JS
- Mathew Gray. 1997. Web Growth Summary. https://stuff.mit.edu/people/mkgray/net/web-growth-summary.html
- Ilya Grigorik. 2015. HTTP: HTTP/1.X. High Performance Browser Networking (Nov. 2015). https://hpbn.co/http1x/#domain-sharding
- W3C HTTP-NG Working Group. 1999. https://www.w3.org/Protocols/HTTP-NG
- Erwin Hofman. 2022. The 2 main performance debts of HTTP/1. https://www.erwinhofman.com/blog/two-main-performance-debts-of-http1
- HTTP Archive. 2024. HTTP Archive: Page Weight. Technical Report. https://httparchive.org/reports/page-weight
- HTTP (httpbis) Working Group. 2023. Minutes. QUIC and HTTP. In IETF 103 Proc. IETF. https://datatracker.ietf.org/meeting/103/materials/minutes-103-httpbis-00
- J. Jackson. 2022. State of the Web. https://byteofdev.com/posts/bundlers
- Beyond first impressions: Estimating quality of experience for interactive web applications. IEEE Access 8 (2020), 47741–47755.
- Michael Janiak. 2023. Why Modern Web Design Is No More: The New Era of ’Product Design’. https://www.websitemagazine.com/web-design/why-modern-web-design-is-no-more-the-new-era-of-product-design
- Håkon Wium Lie. 1995. Cascading HTML Style Sheets – A Proposal. individual proposal. W3C. https://www.w3.org/People/howcome/p/cascade.html
- Håkon Wium Lie and Bert Bos. 1996. Cascading style sheets, level 1. (Sept. 1996).
- Richard Macmanus. 2020. 1995: The Birth of JavaScript. Web Development History. https://webdevelopmenthistory.com/1995-the-birth-of-javascript
- Fawkes: Faster Mobile Page Loads via App-Inspired Static Templating. In Proc. of USENIX NSDI. 879–894.
- MDN. 2023. Connection management. https://developer.mozilla.org/en-US/docs/Web/HTTP/Connection_management_in_HTTP_1.x#http_pipelining
- Mark Nottingham. 2012. Rechartering HTTPbis. https://lists.w3.org/Archives/Public/ietf-http-wg/2012JanMar/0098.html
- Addy Osmani. 2024. critical. https://github.com/addyosmani/critical
- JavaScript modules. https://v8.dev/features/modules
- Steven Pemberton. 2022. On the Design of the URL. https://homepages.cwi.nl/~steven/Talks/2020/10-09-urls/design.html
- Q-Success. 2024. Usage Statistics and Market Share of JavaScript Libraries for Websites, 2024. https://w3techs.com/technologies/overview/javascript_library
- John Resig. 2006. BarCampNYC Wrap-up. Blog Post. https://johnresig.com/blog/barcampnyc-wrap-up/
- Turbo. 2024. Turbo: The speed of a single-page web application without having to write any JavaScript. https://turbo.hotwired.dev
- Lucas Vogel and Thomas Springer. 2022. An in-depth analysis of web page structure and efficiency with focus on optimization potential for initial page load. In International Conference on Web Engineering. Springer, Switzerland, 101–116.
- Lucas Vogel and Thomas Springer. 2023a. How Streaming Can Improve the World (Wide Web). In Companion Proceedings of the ACM Web Conference 2023. 140–143.
- Lucas Vogel and Thomas Springer. 2023b. Speed Up the Web with Universal CSS Rendering. In International Conference on Web Engineering. Springer, 191–205.
- B. Wagner. 1998. Controlling Cgi Programs. SIGOPS Oper. Syst. Rev. 32, 4, 40–46.
- Webpack Contributors. 2017. code splitting. Documentation. GitHub. https://github.com/webpack/docs/wiki/code-splitting
- Lucas Vogel (1 paper)
- Thomas Springer (2 papers)
- Matthias Wählisch (70 papers)