Edge Side Includes

Edge Side Includes (ESI) is a simple markup language used to define web page components for dynamic assembly and delivery of web applications at the edges of the Internet.

ESI provides a mechanism for managing online content transparently across application server solutions, content management systems and content delivery networks. As a result, ESI enables companies to develop web applications once and choose at deployment time where the web application should be assembled - on the content management system, the application server, or the content delivery network, thus reducing complexity, development time and deployment costs. 

The ESI open-standard specification is being co-authored by Akamai, ATG, BEA Systems, Circadence, Digital Island, IBM, Interwoven, Oracle and Vignette. 

ESI specifications 

Presently, the ESI specification contains three areas of definition. Listed below are specifications for the Edge Side Includes language itself, the use of HTTP headers to extend web infrastructure and an invalidation protocol for content management. Further specifications will be added as the definition of ESI continues to evolve. 

> ESI Language Specification

This specification defines ESI 1.0, the Edge Side Includes language, which allows content assembly by HTTP surrogates by providing an in-markup XML-based language. 

> Edge Architecture Specification 

This document defines the Edge Architecture, which extends the web infrastructure through the use of HTTP surrogates - intermediaries that act on behalf of an origin server. 

> ESI Invalidation Protocol

This specification defines the ESI Invalidation Protocol that allows for tight coherence between origin serves and surrogates (also known as "Reverse Proxies"). 

> ESI code samples 

Source code and HTML demonstrations of applied usage of Edge Side Includes. 

> ESI Developer's guides 

Comprehensive guidelines for implementing and testing ESI with Akamai EdgeSuite. This specification defines ESI 1.0, the Edge Side Includes language, which allows content assembly by HTTP surrogates by providing an in-markup XML-based language. 

> ESI Technical FAQ

This specification defines ESI 1.0, the Edge Side Includes language, which allows content assembly by HTTP surrogates by providing an in-markup XML-based language. 

> EdgeSuite ESI Extensions to the ESI 1.0 Specification 

A brief outline of how EdgeSuite 4.8 extends the ESI language. 


EdgeSuite Testing Servers 

ETS - The ESI Test Server is a reverse proxy built with Apache and mod_esi that can be used to test ESI-enabled content. 

> ETS for Linux version 5.3.1.0 compiled with compiled with GCC 3.3.4 on Fedora Core 3 

> ETS for Linux version 5.3.1.0 compiled with GCC 4.1.2 on Fedora Core 7 

> ETS Installation Guide 

Installation and configuration information for the ESI Test Server. 

> Debugging ESI using ETS 

Handbook for debugging ESI code using the ESI Testing Server. 

More on the web 

> W3C 

> Java Community Process 

> Oracle 9iAS