|
ABSTRACT
Caching of documents is an important concern on the Web. It is a major win in all situations where bandwidth is limited. Unfortunately, the increasing spread of dynamically generated documents seriously hampers traditional caching techniques in browsers and on proxy servers.WASH/CGI is a Haskell-based domain specific language for creating interactive Web applications. The Web pages generated by a WASH/CGI application are highly dynamic and cannot be cached with traditional means.We show how to implement the dynamic caching scheme of the BigWig language [2] in the context of WASH/CGI. The main issue in BigWig's caching scheme is the distinction between fixed parts (that should be cached) and variable parts (that need not be cached) of a document. Since BigWig is a standalone domain-specific language, its compiler can perform the distinction as part of its static analysis. Hence, the challenge in our implementation is to obtain the same information without involving the compiler. To this end, we extend WASH/CGI's document language by mode annotations and define the translation of the resulting annotated document language into JavaScript.To alleviate the awkwardness of programming directly in annotated language, we have defined a surface syntax in the style of HSP (Haskell Server Pages) [11].
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Greg Barish and Katia Obraczka. World Wide Web caching: Trends and techniques. IEEE Communications Magazine Internet Technology Series, May 2000.
|
| |
2
|
|
| |
3
|
|
| |
4
|
Pei Cao, Jin Zhang, and Kevin Beach. Active cache: Caching dynamic contents on the web. In Proceedings of the 1998 Middleware conference, 1998.
|
| |
5
|
Jim Challenger, Paul Dantzig, and Arun Iyengar. A scalable system for con-sistently caching dynamic web data. In Proceedings of the 18th Annual Joint Conference of the IEEE Computer and Communications Societies, March 1999.
|
 |
6
|
|
| |
7
|
Fred Douglis, Antonio Haro, and Michael 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.
|
| |
8
|
|
 |
9
|
|
| |
10
|
Martin Kempa and Volker Linnemann. Type checking in XOBE. In E. Rahm G. Weikum, H. Schöning, editor, Datenbanksysteme für Business, Technologie und Web (BTW), 10. GI-Fachtagung, pages 265--274, Leipzig, 2003.
|
| |
11
|
Erik Meijer and Danny van Velzen. Haskell Server Pages, functional programming and the battle for the middle tier. In Draft proceedings of the 2000 ACM SIGPLAN Haskell Workshop, pages 23--33, Montreal, Canada, September 2000.
|
 |
12
|
Jeffrey C. Mogul , Fred Douglis , Anja Feldmann , Balachander Krishnamurthy, Potential benefits of delta encoding and data compression for HTTP, Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication, p.181-194, September 14-18, 1997, Cannes, France
|
| |
13
|
Netscape Corporation. JavaScript central. http://devedge.netscape.com/central/javascript/, July 2003.
|
| |
14
|
Eduardo Peligrí-Llopart and Larry Cable. Java Server Pages Specification. http://java.sun.com/products/jsp/index.html, 1999.
|
| |
15
|
Ben Smith, Anurag Acharya, Tao Yang, and Huican Zhu. Exploiting result equivalence in caching dynamic Web content. In USENIX Symposium on Internet Technologies and Systems, 1999.
|
| |
16
|
|
| |
17
|
Peter Thiemann. An embedded domain-specific language for type-safe server-side Web scripting. Technical report, Universität Freiburg, February 2003. Available from http://www.informatik.uni-freiburg.de/~thiemann/papers/wash-cgi.ps.gz. Accepted for publication in ACM Transactions on Internet Technology.
|
| |
18
|
Web authoring system in Haskell (WASH). http://www.informatik.uni-freiburg.de/~thiemann/haskell/WASH, March 2001.
|
|