Client-Side Includes: Faster Access to Dynamic Web Content
Client-Side Inclusion (CSI) is a technology developed at AT&T Research, which allows dynamic Web page assembly from individual fragments at the Web browser. By reusing cached copies of unchanged fragments, CSI reduces the amount of data sent from the Web site to the browser and thereby lowers the download time of the page, especially for narrowband clients.
Pages that convey fast-changing information to the user often contain a large static "boilerplate", or template, that does not change from access to access. This template includes page headers and footers, formatting instructions, navigation areas, and so on. CSI allows the browser to cache the template across page accesses and populate it with dynamic information for a given access. Furthermore, dynamic information on a page can change more or less rapidly depending on the nature of the content. As an example, consider AT&T's home page. Its dynamic information includes the newsroom headlines and the stock price for AT&T. The rest of the page can be viewed as the template. The stock quote fragment changes very frequently, probably every minute when the stock market is open. The headlines fragment changes much more slowly, perhaps a few times a day. The rest of the page changes even less often. CSI allows the template and each fragment to have its own caching properties, such as an expiration time. This design facilitates caching of unchanged components of the page at the browser and reduces the congestion in the network as well as the processing overhead at origin servers.
Moreover, different Web pages can often share the same page template. A typical example is e-commerce sites which often have the same page design for different products. The content that actually changes when a user browses through various products is the information specific to that product. With CSI, the content provider can design a common template for all the products including company name, menus, links to various departments, privacy policies, copyright notice, etc.. When a client browses through different products on the Web site, this template only needs to be downloaded once.
By moving page assembly from origin servers to browsers, CSI reduces the amount of information transferred over the last mile. Hence, this technique not only reduces bandwidth consumption by the origin server but also reduces the response time experienced by narrowband users. Additional important benefits of CSI include the following:
1. CSI technology is orthogonal to existing Web acceleration technologies like content delivery networks or proxy caching. In particular, it can be offered as a value-added service of a hosting service to customers who may not wish to subscribe to a CDN.
2. For content providers who do use a CDN, CSI reduces their CDN costs by reducing the amount of content that browsers download from the edge servers. These savings are in addition to the reduction in origin server bandwidth costs described earlier.
Our implementation of CSI is backward-compatible with the existing ESI 1.0 specification, a mark-up language for page fragmentation. Hence, Web sites that currently use ESI can start benefiting from CSI without changing their content. It supports recent versions of Internet Explorer and requires no modification or reconfiguration of the browser. For other types of browsers, we implemented a transparent fallback mechanism that allows the origin server to reconstruct HTML pages from CSI fragments.
Copyright Zhen Xiao. All rights reserved.