Fawkes: Faster Mobile Page Loads via App-Inspired Static Templating
Shaghayegh Mardani, Mayank Singh, Ravi Netravali
Abstract
Despite the rapid increase in mobile web traffic, page loads still fall short of user performance expectations. State-ofthe-art web accelerators optimize computation or network fetches that occur after a page's HTML has been fetched. However, clients still suffer multiple round trips and server processing delays to fetch that HTML; during that time, a browser cannot display any visual content, frustrating users. This problem persists in warm cache settings since HTML is most often marked as uncacheable because it usually embeds a mixture of static and dynamic content.
Inspired by mobile apps, where static content (e.g., layout templates) is cached and immediately rendered while dynamic content (e.g., news headlines) is fetched, we built Fawkes. Fawkes leverages our measurement study finding that 75% of HTML content remains unchanged across page loads spread 1 week apart. With Fawkes, web servers extract static, cacheable HTML templates for their pages offline, and online they generate dynamic patches which express the updates required to transform those templates into the latest page versions. Fawkes works on unmodified browsers, using a JavaScript library inside each template to asynchronously apply updates while ensuring that JavaScript code only sees the state that it would have in a default page load despite downstream content having already been loaded. Across a wide range of pages, phones, and live wireless networks, Fawkes improves interactivity metrics such as Speed Index and Time-to-first-paint by 46% and 64% at the median in warm cache settings; results are 24% and 62% in cold cache settings. Further, Fawkes outperforms recent server push and proxy systems on these metrics by 10%-24% and 69%-73%.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext e7d12320-d9f6-4da4-b1a6-209f2d55d6ebCited by top-tier papers5
- Alohamora: Reviving HTTP/2 Push and Preload by Adapting Policies On the FlyNikhil Kansal, Murali Ramanujam, Ravi NetravaliNSDI 2021 · 10 citations
- Horcrux: Automatic JavaScript Parallelism for Resource-Efficient Web ComputationShaghayegh Mardani, Ayush Goel, Ronny Ko, Harsha V. Madhyastha et al.OSDI 2021 · 9 citations
- Visual-Aware Testing and Debugging for Web Performance OptimizationXinlei Yang, Wei Liu, Hao Lin, Zhenhua Li et al.WWW 2023 · 4 citations
- Web-LEGO: Trading Content Strictness for Faster WebpagesPengfei Wang, Matteo Varvello, Chunhe Ni, Ruiyun Yu et al.INFOCOM 2021 · 4 citations
- CacheCatalyst: Enhancing Web Caching for the Latency-Constrained InternetMohammad Hosseini, Sina Darabi, Hannaneh B. Pasandi, Patrick Eugster et al.NSDI 2026
Builds on1
Related papers
- HTTP Steady Connections for Robust Web AccelerationSunjae Kim, Wonjun LeeWWW 2023 · 2 citations
- Oblique: Accelerating Page Loads Using Symbolic ExecutionRonny Ko, James Mickens, Blake Loring, Ravi NetravaliNSDI 2021 · 13 citations
- Spineless Traversal for Layout InvalidationMarisa Kirisame, Tiezhi Wang, Pavel PanchekhaPLDI 2025
- WebMythBusters: An In-depth Study of Mobile Web ExperienceSeonghoon Park, Yonghun Choi, Hojung ChaINFOCOM 2021 · 6 citations
- Conflict-Driven Synthesis for Layout EnginesJunrui Liu, Yanju Chen, Eric Atkinson, Yu Feng et al.PLDI 2023 · 5 citations
