<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Edge_Side_Includes</id>
	<title>Edge Side Includes - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Edge_Side_Includes"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Edge_Side_Includes&amp;action=history"/>
	<updated>2026-05-25T06:14:53Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Edge_Side_Includes&amp;diff=2592955&amp;oldid=prev</id>
		<title>imported&gt;Eriosw: Parameter language</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Edge_Side_Includes&amp;diff=2592955&amp;oldid=prev"/>
		<updated>2026-01-06T22:03:42Z</updated>

		<summary type="html">&lt;p&gt;Parameter language&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Edge Side Includes&amp;#039;&amp;#039;&amp;#039;, oder &amp;#039;&amp;#039;&amp;#039;ESI&amp;#039;&amp;#039;&amp;#039; genannt, ist eine [[Auszeichnungssprache]] um Webseiten-Komponenten dynamisch zusammenzubauen und diese als fertige Seite auszuliefern. ESI ist ein Ansatz, um [[Skalierbarkeit|Skalierungsprobleme]], die ein [[Webserver]] durch steigenden Verkehr bekommt, zu verhindern bzw. zu entschärfen.&lt;br /&gt;
&lt;br /&gt;
Moderne Internetseiten bestehen häufig aus vielen Bausteinen mit unterschiedlicher Lebensdauer. Dies stellt Caching-Systeme vor völlig neue Aufgaben. Das Element einer Seite mit der kürzesten Lebensdauer bestimmt, wie lange sie im [[Cache]] gespeichert werden kann. Wird nun auf einer Seite mit vorwiegend statischen Inhalten ein dynamisches Element wie eine Mitteilungs-Box eingebunden, ist es nicht mehr sinnvoll, die Seite als Ganzes zu cachen, da die Mitteilungen zum Zeitpunkt der Zwischenspeicherung für die Lebensdauer des gecachten Elements statisch sind. Auf Caching zu verzichten würde jedoch bedeuten, dass sämtliche Inhalte der Seite mit jedem Aufruf neu zusammengebaut werden müssen, was sich auf die Rechenkosten und Auslieferungszeit der Seite auswirkt.&lt;br /&gt;
&lt;br /&gt;
Zur Lösung dieses Problems hat eine Gruppe von Unternehmen (unter anderem [[Akamai]], [[BEA Systems]], [[Oracle Corporation]]) gemeinsam die ESI-Spezifikationen entwickelt und Version 1.0 der Spezifikation dem W3C&amp;lt;ref name=&amp;quot;W3C&amp;quot;&amp;gt;http://www.w3c.org&amp;lt;/ref&amp;gt; im August 2001 zur Genehmigung vorgelegt, sie befindet sich derzeit im Status einer W3C NOTE&amp;lt;ref&amp;gt;{{cite web |url=http://www.w3.org/Consortium/Process/NOTE.html |title=W3 NOTE process |language=en |accessdate=2015-07-06}}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
ESI wird von einigen [[Content Delivery Network]]s (z.&amp;amp;nbsp;B. [[Akamai]]) und [[Proxy (Rechnernetz)|Proxy]]-Servern (z.&amp;amp;nbsp;B. [[Varnish]], [[Squid]] und [[Mongrel (Webserver)|Mongrel]]) unterstützt. Während die meisten Proxy-Server häufig nur einen Teil der Spezifikation implementieren&amp;lt;ref&amp;gt;{{cite web |url=http://www.varnish-cache.org/trac/wiki/ESIfeatures |title=Varnish ESI features |language=en |access-date=2012-03-29}}&amp;lt;/ref&amp;gt;, hat Akamai weitere Features zu der von ihnen unterstützen Version hinzugefügt.&amp;lt;ref&amp;gt;{{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 |language=en |access-date=2012-03-29|format=PDF, 38&amp;amp;nbsp;kB}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wie wird ESI implementiert? ==&lt;br /&gt;
ESI Element Tags werden in HTML oder anderen textbasierten Inhalten während der Erstellung eingefügt. Die durch diesen Tag definierten Elemente werden jedoch nicht direkt dargestellt, sondern vom ESI-Prozessor als Befehle für bestimmte Aktionen interpretiert. Die [[XML]] basierten ESI Tags zeigen dem ESI-Agenten an, welche Aktionen durchgeführt werden müssen, damit die Seite vollständig geladen werden kann. Ein einfaches Beispiel eines ESI-Elements ist ein &amp;#039;&amp;#039;include tag&amp;#039;&amp;#039;, der externe Inhalte in die Seite einbindet. Ein ESI include-Tag könnte wie folgt aussehen&amp;lt;ref name=&amp;quot;W3C&amp;quot; /&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;esi:include&lt;br /&gt;
src=&amp;quot;http://example.com/1.html&amp;quot;&lt;br /&gt;
alt=&amp;quot;http://bak.example.com/2.html&amp;quot;&lt;br /&gt;
onerror=&amp;quot;continue&amp;quot;&lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel würde der ESI-Prozessor versuchen die Quell-[[URL]] (&amp;lt;code&amp;gt;src&amp;lt;/code&amp;gt;) aufzurufen, falls diese nicht erreichbar ist, wird die alternative URL (&amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt;) verwendet. Wenn dies ebenfalls fehlschlägt wird das Element stillschweigend entfernt.&lt;br /&gt;
&lt;br /&gt;
In Verbindung mit einem Proxycache-Server bietet ESI somit verschiedene Caching-Szenarien. Denkbar ist zum Beispiel, dass die aufgerufenen Dateien lokal zwischengespeichert werden und somit die Auslieferung dieser Inhalte beschleunigt wird. Alternativ kann auch die Seite, die die ESI-Tags einbettet, gecacht werden und lediglich die Inhalte, die über ESI geladen werden, werden bei jedem Aufruf neu angefragt. Dies erlaubt unterschiedliche Caching-Zeiten für ein und dieselbe Webseite oder unterschiedliche Grade der Personalisierung.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Die ESI-Spezifikation&amp;lt;ref name=&amp;quot;W3C&amp;quot; /&amp;gt; beschreibt unter anderem vier Hauptfeatures:&lt;br /&gt;
* Inklusion&lt;br /&gt;
* Variablen&lt;br /&gt;
* Bedingungen&lt;br /&gt;
* Fehlerbehandlung&lt;br /&gt;
&lt;br /&gt;
Neben dem oben beschriebenen Einfügen von Seitenfragmenten per &amp;#039;&amp;#039;include&amp;#039;&amp;#039; können Variablen in ESI-Statements verwendet werden, die aus bestimmten [[HTTP]]-Headern (&amp;#039;&amp;#039;Accept-Language&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Host&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Referer&amp;#039;&amp;#039;, &amp;#039;&amp;#039;User-Agent&amp;#039;&amp;#039;), einem übermittelten [[Cookie]] oder einem [[Query-String]] (URL-Parameter) stammen. Diese Variablen sind schreibgeschützt und können in logischen Ausdrücken verwendet werden, um Inhalte abhängig von bestimmten Bedingungen zu laden. Die Fehlerbehandlung &amp;#039;&amp;#039;error handling&amp;#039;&amp;#039; erfolgt durch das &amp;#039;&amp;#039;onerror&amp;#039;&amp;#039;-Attribut, welches es erlaubt, darauf zu reagieren, dass die Original-Quelle nicht erreichbar ist, und statt eines HTTP-Statuscodes wie 404 eine alternative URL verwendet, um das Element zu laden, oder es aus der Ausgabe entfernt &amp;#039;&amp;#039;(siehe obiges Beispiel)&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Alternativen ==&lt;br /&gt;
Die Hauptalternative zu ESI besteht darin, das Zusammenfügen der Seiten bereits auf dem [[Webserver]] durch z.&amp;amp;nbsp;B. [[Server Side Includes]] und viele Arten von [[Server Side Scripting]] vorzunehmen, oder durch das Verwenden des [[Client Side Scripting]] des [[Browser]]s und Techniken wie [[Ajax (Programmierung)|Ajax]].&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.akamai.com/html/support/esi.html Akamai’s ESI developer resources]&lt;br /&gt;
* [http://www.w3.org/TR/esi-lang W3C Note „ESI Language Specification 1.0“]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Beschreibungssprache]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Eriosw</name></author>
	</entry>
</feed>