请输入您要查询的百科知识:

 

词条 Edge Side Includes
释义

  1. Syntax

  2. Features

  3. Alternatives

  4. References

  5. External links

Edge Side Includes or ESI is a small markup language for edge level dynamic web content assembly. The purpose of ESI is to tackle the problem of web infrastructure scaling.[1] It is an application of edge computing.

It is fairly common for websites to have generated content. It could be because of changing content like catalogs or forums, or because of personalization. This creates a problem for caching systems. To overcome this problem a group of companies (Akamai, Art Technology Group, BEA Systems, Circadence Corporation, Digital Island, Inc., Interwoven, Inc., Open Market, whose ESI-related technology is now owned by FatWire Software, Oracle Corporation and Vignette Corporation) developed the ESI specification and submitted it to the W3C for approval. The proposal editor was Mark Nottingham.

ESI Language Specification 1.0 was submitted to the World Wide Web Consortium (W3C) for approval in August 2001. The W3C has acknowledged receipt, but has not accepted the proposal.[1]

ESI is implemented by some content delivery networks, such as Akamai, and by some caching proxy servers such as Varnish, Squid and Mongrel ESI,[2] although many do not implement the complete specification.[3] Akamai also adds additional features to the version they support.[4]

Syntax

ESI element tags are inserted into HTML or other text based content during creation. Instead of being displayed to viewers, these ESI tags are directives that instruct an ESI processor to take some action. The XML based ESI tags indicate to the edge-side processing agent the action that needs to be taken to complete the page's assembly. One simple example of an ESI element is the include tag which is used to include content external to the page. An ESI include tag placed in-line within an HTML document would look like:[1]

In this case the ESI processor would retrieve the src URL, or failing that the alt URL, or if that failed do nothing. The ESI system is usually a caching proxy server so it may have a local copy of these files which it can insert without going back to the server. Alternatively the whole page with the ESI tags may be cached, and only the ESI requests may be made to the origin server. This allows different caching times for different parts of the page, or different degrees of personalisation.

Features

There are four main features in ESI:[1]

  • inclusion of page fragments, as illustrated above;
  • variables which can be set from cookies or HTTP headers and then used in other ESI statements or written into markup;
  • conditions so that different markup can be used based on variables, for example if a cookie is set or not;
  • error handling, so that a failover can be used if an origin server is unavailable.

Alternatives

The main alternatives to ESI are

  • to do assembly on the origin server using Server Side Includes and many types of server-side scripting.
  • to use client-side scripting and techniques collectively known as Ajax (see: Dynamic web page) in the browser
  • to establish a protocol between origin and edge such that recurring content will be included on the edge automatically, as with Cloudflare's Railgun protocol [5]
  • to do assembly in the browser using web components.

References

1. ^{{cite web |url=http://www.w3.org/TR/esi-lang |title=ESI Language Specification 1.0 |accessdate=2008-11-10 |author=Mark Tsimelzon |author2=Bill Weihl |author3=Joseph Chung |author4=Dan Frantz |author5=John Brasso |author6=Chris Newton |author7=Mark Hale |author8=Larry Jacobs |author9= Conleth O'Connell |publisher=W3C |date=2001-08-04 }}
2. ^{{cite web |url=http://code.google.com/p/mongrel-esi/ |title=Mongrel ESI}}
3. ^{{cite web |url=http://www.varnish-cache.org/trac/wiki/ESIfeatures |title=Varnish ESI features |accessdate=2011-04-07}}
4. ^{{cite web|url=http://www.akamai.com/dl/technical_publications/akamai_esi_extensions.pdf |title=EdgeSuite 5.0 ESI Extensions to the ESI 1.0 Specification|accessdate=2011-04-07}}
5. ^https://www.cloudflare.com/railgun/

External links

  • Akamai's ESI developer resources
  • W3C Note "ESI Language Specification 1.0"

2 : Scripting languages|Proxy servers

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/17 15:09:55