Skip to main content
Log in

Language-Based Caching of Dynamically Generated HTML

  • Published:
World Wide Web Aims and scope Submit manuscript

Abstract

Increasingly, HTML documents are dynamically generated by interactive Web services. To ensure that the client is presented with the newest versions of such documents it is customary to disable client caching causing a seemingly inevitable performance penalty. In the <bigwig> system, dynamic HTML documents are composed of higher-order templates that are plugged together to construct complete documents. We show how to exploit this feature to provide an automatic fine-grained caching of document templates, based on the service source code. A <bigwig> service transmits not the full HTML document but instead a compact JavaScript recipe for a client-side construction of the document based on a static collection of fragments that can be cached by the browser in the usual manner. We compare our approach with related techniques and demonstrate on a number of realistic benchmarks that the size of the transmitted data and the latency may be reduced significantly.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. D. Atkins, T. Ball, G. Bruns, and K. Cox, “Mawl: A domain-specific language for form-based services,” IEEE Transactions on Software Engineering, June 1999.

  2. P. Barford, A. Bestavros, A. Bradley, and M. Crovella, “Changes in Web client access patterns: Characteristics and caching implications,” World Wide Web Journal 2(1–2), January 1999, 15–28.

    Google Scholar 

  3. G. Barish and K. Obraczka, “World Wide Web caching: Trends and techniques,” IEEE Communications Magazine Internet Technology Series, May 2000.

  4. C. Brabrand, A. Møller, and M. I. Schwartzbach, “The bigwig project,” in Transactions on Internet Technology 2(2), ACM, 2002. http://www.brics.dk/bigwig/

  5. C. Brabrand, A. Møller, and M. I. Schwartzbach, “Static validation of dynamically generated HTML,” in Proceedings of Workshop on Program Analysis for Software Tools and Engineering (PASTE 2001), ACM, 2001.

  6. P. Cao, J. Zhang, and K. Beach, “Active cache: Caching dynamic contents on the Web,” in Proceedings of the 1998 Middleware Conference, 1998.

  7. J. Challenger, P. Dantzig, and A. Iyengar, “A scalable system for consistently caching dynamic Web data,” in Proceedings of the 18th Annual Joint Conference of the IEEE Computer and Communications Societies, March 1999.

  8. F. Douglis, A. Haro, and M. Rabinovich, “HPP: HTML macro-preprocessing to support dynamic document caching,” in Proceedings of the 1997 USENIX Symposium on Internet Technologies and Systems (USITS-97), December 1997.

  9. J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee, “Hypertext transfer protocol, HTTP/1.1,” 1999, http://www.w3.org/Protocols/rfc2616/rfc2616.html

  10. ICONOCAST Newsletter, August 17, 2000, http://www.iconocast.com/issue/20000817.html

  11. A. Iyengar and J. Challenger, “Improving Web server performance by caching dynamic data,” in USENIX Symposium on Internet Technologies and Systems, December 1997.

  12. D. A. Ladd and J. C. Ramming, “Programming the Web: An application-oriented language for hypermedia services,” in 4th International World Wide Web Conference (WWW4), 1995.

  13. H. Liefke and D. Suciu, “XMill: An efficient compressor for XML data,” ACM SIGMOD Record 29(2), 2000, 153–164.

    Google Scholar 

  14. J. C. Mogul, F. Douglis, A. Feldmann, and B. Krishnamurthy, “Potential benefits of delta encoding and data compression for HTTP,” in SIGCOMM, 1997, pp. 181–194.

  15. J. Nielsen, Designing Web Usability: The Practice of Simplicity, New Riders Publishing, 2000.

  16. K. Rajamani and A. Cox, “A simple and effective caching scheme for dynamic content,” Technical Report, CS Department, Rice University, September 2000.

  17. A. Sandholm and M. I. Schwartzbach, “A type system for dynamic Web documents,” in Principles of Programming Languages (POPL'00), ACM, 2000.

  18. B. Smith, A. Acharya, T. Yang, and H. Zhu, “Exploiting result equivalence in caching dynamic Web content,” in USENIX Symposium on Internet Technologies and Systems, 1999.

  19. M. Tsimelzon, B. Weihl, and L. Jacobs, “ESI language pecification 1.0,” 2001, http://www.edge-delivery.org/language_spec_1-0.html

  20. J. Wang, “A survey of Web caching schemes for the Internet,” ACM Computer Communication Review 29(5), October 1999, 36–46.

    Google Scholar 

  21. C. Wills and M. Mikhailov, “Studying the impact of more complete server information on Web caching,” Computer Communications 24(2), 2001, 184–190.

    Google Scholar 

  22. A. Wolman, “Characterizing Web workloads to improve performance,” University of Washington, July 1999.

  23. K. Yagoub, D. Florescu, V. Issarny, and P. Valduriez, “Caching strategies for data-intensive Web sites,” The VLDB Journal, 2000, 188–199.

  24. H. Zhu and T. Yang, “Class-based cache management for dynamic Web contents,” in Proceedings of IEEE INFOCOM 2001, 2001, pp. 1215–1224.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Brabrand, C., Møller, A., Olesen, S. et al. Language-Based Caching of Dynamically Generated HTML. World Wide Web 5, 305–323 (2002). https://doi.org/10.1023/A:1021020226173

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1021020226173

Navigation