<?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=Server_Side_Includes</id>
	<title>Server 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=Server_Side_Includes"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Server_Side_Includes&amp;action=history"/>
	<updated>2026-05-23T17:01:00Z</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=Server_Side_Includes&amp;diff=162961&amp;oldid=prev</id>
		<title>imported&gt;Summerbrize: Referenz aktualisiert</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Server_Side_Includes&amp;diff=162961&amp;oldid=prev"/>
		<updated>2026-02-10T22:15:14Z</updated>

		<summary type="html">&lt;p&gt;Referenz aktualisiert&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Weiterleitungshinweis|Shtml|Weitere Bedeutungen sind unter [[SHTML]] zu finden.}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Server Side Includes&amp;#039;&amp;#039;&amp;#039; ({{enS}} für &amp;#039;&amp;#039;serverseitige Einbindungen&amp;#039;&amp;#039;), auch bekannt als &amp;#039;&amp;#039;&amp;#039;SSI&amp;#039;&amp;#039;&amp;#039;, sind in (meist [[HTML]]-)Dokumente eingebettete, einfach zu nutzende [[Skriptsprache|Skript-Befehle]], die auf dem [[Webserver]] ausgeführt werden, bevor das Dokument an den [[Client]] ausgeliefert wird. Sie stellen eine einfach zu verwendende Alternative zu Programmen bzw. Skripten dar, die das ganze Dokument dynamisch generieren. Die Sprache ist [[Turing-Vollständigkeit|Turing-vollständig]].&amp;lt;ref&amp;gt;https://www.janschejbal.de/projekte/ssituring/ Server Side Includes Turing machine, Jan Schejbal, zuletzt abgerufen am 12. August 2010.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Entstehung ==&lt;br /&gt;
&lt;br /&gt;
SSI wurden erstmals mit der [[Apache HTTP Server]] Version 1.0 im April 1995 veröffentlicht und waren Bestandteil des Apache-Moduls &amp;lt;code&amp;gt;mod_include&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://web.archive.org/web/19961028121928/http://www.apache.org/docs/1.0/modules.html Apache.org – Apache Modules] (archive.org [abgerufen am 10. Februar 2026]).&amp;lt;/ref&amp;gt; Heutzutage unterstützen auch andere Webserver die [[Skriptsprache]], unter anderem der [[Microsoft Internet Information Services|IIS]] von [[Microsoft]].&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
Mit SSI kann der statische Inhalt einer [[Datei]] oder die dynamische Ausgabe eines Programms/Skriptes in ein Dokument eingefügt werden. Die zur Verfügung stehenden Befehle sind bewusst spartanisch gehalten: [[Verzweigung (Programmierung)|Fallunterscheidungen]], [[Variable (Programmierung)|Variablen]] speichern und ausgeben, [[Common Gateway Interface|CGI]]-Programme ausführen oder andere Dateien einbinden.&lt;br /&gt;
&lt;br /&gt;
=== Syntax ===&lt;br /&gt;
Server Side Includes haben die folgende [[Syntax]]:&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;amp;lt;!--#&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;befehl&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;parametername1&amp;lt;/span&amp;gt;=&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;quot;wert&amp;quot;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;parametername2&amp;lt;/span&amp;gt;=&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;quot;wert&amp;quot;&amp;lt;/span&amp;gt; --&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das einleitende &amp;lt;code&amp;gt;&amp;amp;lt;!--&amp;lt;/code&amp;gt; und das abschließende &amp;lt;code&amp;gt;--&amp;amp;gt;&amp;lt;/code&amp;gt; entsprechen den Zeichen für Beginn und Ende eines [[Hypertext Markup Language|HTML]]- oder [[Extensible Markup Language|XML]]-Kommentares und sorgen dafür, dass der [[Webbrowser|Browser]] die Befehle nicht anzeigt, falls SSI deaktiviert ist.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Befehle ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-class=&amp;quot;hintergrundfarbe6&amp;quot;&lt;br /&gt;
!Befehl!!Parameter!!Beschreibung!!Beispiel&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
!include&lt;br /&gt;
|&amp;#039;&amp;#039;file&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;virtual&amp;#039;&amp;#039;&lt;br /&gt;
|Sorgt dafür, dass der Inhalt der Datei eingefügt wird. &amp;#039;&amp;#039;file&amp;#039;&amp;#039; adressiert diese Datei relativ zum aktuellen Verzeichnis, &amp;#039;&amp;#039;virtual&amp;#039;&amp;#039; relativ zum Root-Dokument-Verzeichnis.&lt;br /&gt;
|style=&amp;quot;background-color: #fff;&amp;quot; |&amp;lt;code&amp;gt;&amp;amp;lt;!--#include file=&amp;quot;header.shtml&amp;quot; --&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;lt;!--#include virtual=&amp;quot;script.pl&amp;quot; --&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
!|set&lt;br /&gt;
|&amp;#039;&amp;#039;var&amp;#039;&amp;#039;, &amp;#039;&amp;#039;value&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;errmsg&amp;#039;&amp;#039;&lt;br /&gt;
|Schreibt Inhalt von &amp;#039;&amp;#039;value&amp;#039;&amp;#039; in die Variable &amp;#039;&amp;#039;var&amp;#039;&amp;#039;. &amp;#039;&amp;#039;Errmsg&amp;#039;&amp;#039; definiert die Standard-Fehlermeldung, die bei den nächsten Fehlern ausgegeben werden soll. Kann z.&amp;amp;nbsp;B. vor ein SSI-Include gesetzt werden und wird dann angezeigt, wenn die Datei nicht geladen werden kann.&lt;br /&gt;
|style=&amp;quot;background-color: #fff;&amp;quot; |&amp;lt;code&amp;gt;&amp;amp;lt;!--#set var=&amp;quot;test&amp;quot; value=&amp;quot;Hallo Welt!&amp;quot; --&amp;amp;gt;&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;&amp;amp;lt;!--#set errmsg=&amp;quot;Es ist ein Fehler aufgetreten!&amp;quot; --&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
!echo&lt;br /&gt;
|&amp;#039;&amp;#039;var&amp;#039;&amp;#039;&lt;br /&gt;
|Gibt Variable &amp;#039;&amp;#039;var&amp;#039;&amp;#039; wieder. Es kann sich dabei um selbstdefinierte Variablen handeln oder um [[Common Gateway Interface|CGI]]-[[Umgebungsvariable]]n wie z.&amp;amp;nbsp;B. &amp;lt;code&amp;gt;${REMOTE_ADDR}&amp;lt;/code&amp;gt;.&lt;br /&gt;
|style=&amp;quot;background-color: #fff;&amp;quot; |&amp;lt;code&amp;gt;&amp;amp;lt;!--#echo var=&amp;quot;test&amp;quot; --&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
!exec&lt;br /&gt;
|&amp;#039;&amp;#039;cgi&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;cmd&amp;#039;&amp;#039;&lt;br /&gt;
|Führt das Programm &amp;#039;&amp;#039;cgi&amp;#039;&amp;#039; oder den Befehl &amp;#039;&amp;#039;cmd&amp;#039;&amp;#039; aus und fügt dessen Ausgabe ein.&lt;br /&gt;
|style=&amp;quot;background-color: #fff;&amp;quot; |&amp;lt;code&amp;gt;&amp;amp;lt;!--#exec cmd=&amp;quot;ls -lsa&amp;quot; --&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
!if&lt;br /&gt;
|&amp;#039;&amp;#039;expr&amp;#039;&amp;#039;&lt;br /&gt;
|Prüft den Ausdruck &amp;#039;&amp;#039;expr&amp;#039;&amp;#039;, gültig sind dabei = gleich, != ungleich, &amp;amp;lt; kleiner, &amp;amp;gt; größer oder ein [[regulärer Ausdruck]]. Es können mehrere Kriterien aneinander gereiht werden, indem man sie mit &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; für ODER oder &amp;amp;amp;&amp;amp;amp; für UND voneinander trennt.&lt;br /&gt;
Ein praktischer Einsatzzweck ist beispielsweise die Internationalisierung einer Webseite:&lt;br /&gt;
|style=&amp;quot;background-color: #fff;&amp;quot; |&amp;lt;code&amp;gt;&amp;amp;lt;!--#if expr=&amp;quot;${a} = ${b} &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; ${b} &amp;gt; 2 &amp;amp;&amp;amp; ${a} != 0&amp;quot; --&amp;amp;gt; HTML &amp;amp;lt;!--#endif --&amp;amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;amp;lt;!--#if expr=&amp;quot;$QUERY_STRING=/lang=FR/&amp;quot;--&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
FR Inhalt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;lt;!--#elif expr=&amp;quot;$QUERY_STRING=/lang=EN/&amp;quot;--&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
EN Inhalt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;lt;!--#else--&amp;amp;gt;&lt;br /&gt;
DE Inhalt &amp;amp;lt;!--#endif --&amp;amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== X-Bit-Hack ===&lt;br /&gt;
Der Webserver erkennt HTML-Seiten mit Server Side Includes meist an der [[Dateiendung]] &amp;lt;code&amp;gt;.shtml&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;.stm&amp;lt;/code&amp;gt;. Somit müssen nicht sämtliche HTML-Seiten nach SSI-Befehlen durchsucht werden, was die Seitenauslieferung beschleunigt. Um allerdings vor dem Benutzer die Verwendung von SSI zu verbergen, besteht eine Alternative, die zuerst vom Apache-Webserver eingeführt wurde. Dabei werden HTML-Dateien, die SSI-Anweisungen enthalten, an einem speziellen Datei-Attribut erkannt. Es handelt sich dabei um den sogenannten „X-Bit-Hack“. Ist diese Funktion im Webserver aktiviert (z.&amp;amp;nbsp;B. durch die Direktive &amp;lt;code&amp;gt;XBitHack on&amp;lt;/code&amp;gt; in der .htaccess-Datei), werden alle HTML-Seiten, bei denen das [[Unix-Dateirechte#Grundlegende Rechte|Ausführ-Bit]] (&amp;#039;&amp;#039;execute&amp;#039;&amp;#039; bit) gesetzt ist, vom SSI-Interpreter ausgewertet, ehe sie an den Client ausgeliefert werden. Da die Dateirechte vom Client aus nicht sichtbar sind, kann so die Verwendung von SSI vor dem Benutzer verborgen werden.&lt;br /&gt;
&lt;br /&gt;
== Ähnliche Konzepte ==&lt;br /&gt;
* Syntaktisch verwandt sind die Programmiersprachen [[PHP]], [[Active Server Pages|ASP]] und [[JavaServer Pages|JSP]], bei denen dynamisch generierter Code durch eine besondere Kennzeichnung in statischem HTML eingebettet werden kann.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://httpd.apache.org/docs/2.0/howto/ssi.html Apache Tutorial: Introduction to Server Side Includes], englischsprachiges [[Tutorial]] vom Apache-Projekt&lt;br /&gt;
* [http://www.w3.org/Jigsaw/Doc/User/SSI.html Server Side Include commands], kurze, englischsprachige Übersicht vom [[W3C]]&lt;br /&gt;
* [[SELFHTML]]: [https://wiki.selfhtml.org/wiki/Webserver/SSI Server Side Includes], deutschsprachige Dokumentation&lt;br /&gt;
* [http://www.apacheweek.com/features/ssi Using Server Side Includes], kurzer englischsprachiger Einführungsartikel, erschienen in der Zeitschrift [[Apache Week]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Skriptsprache]]&lt;br /&gt;
[[Kategorie:Web-Entwicklung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Summerbrize</name></author>
	</entry>
</feed>