Server Side Includes
aus Wikipedia, der freien Enzyklopädie
Server Side Includes (dt.: Serverseitige Einbindungen), auch bekannt als SSI, sind in (meist HTML-) Dokumente eingebettete, einfach zu nutzende Scriptbefehle, die auf dem Webserver ausgeführt werden, bevor das Dokument an den Client ausgeliefert wird. Sie stellen eine einfacher zu verwendende Alternative zu Programmen/Scripten dar, die das ganze Dokument dynamisch generieren.
Inhaltsverzeichnis |
[Bearbeiten] Entstehung
Ursprünglich wurden SSI als Apache-Modul mod_ssi eingeführt. Heutzutage unterstützen auch andere Webserver die Scriptsprache, unter anderem der IIS von Microsoft.
[Bearbeiten] Verwendung
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: Fallunterscheidungen, Variablen speichern und ausgeben, CGI-Programme ausführen oder andere Dateien einbinden.
[Bearbeiten] Syntax
Server Side Includes haben die folgende Syntax:
<!--#befehl parametername1="wert" parametername2="wert" -->
Das einleitende <!-- und das abschließende --> entsprechen den Zeichen für Beginn und Ende eines HTML- oder XML-Kommentares und sorgen dafür, dass der Browser die Befehle nicht anzeigt, falls SSI deaktiviert ist.
[Bearbeiten] Wichtige Befehle
| Befehl | Parameter | Beschreibung | Beispiel |
|---|---|---|---|
| include | file oder virtual | Sorgt dafür, dass der Inhalt der Datei eingefügt wird. file adressiert diese Datei relativ zum aktuellen Verzeichnis, virtual relativ zum Root-Dokument-Verzeichnis. | <!--#include file="header.shtml" -->
|
| set | var, value oder errmsg | Schreibt Inhalt von value in die Variable var. Errmsg definiert die Standard-Fehlermeldung, die bei den nächsten Fehlern ausgegeben werden soll. Kann z.B. vor ein SSI-Include gesetzt werden und wird dann angezeigt, wenn die Datei nicht geladen werden kann. | <!--#set var="test" value="Hallo Welt!" --> oder <!--#set errmsg="Es ist ein Fehler aufgetreten!" --> |
| echo | var | Gibt Variable var wieder. Es kann sich dabei um selbstdefinierte Variablen handeln oder um CGI-Umgebungsvariablen wie z.B. ${REMOTE_ADDR}. | <!--#echo var="test" --> |
| if | expr | Prüft den Ausdruck expr, gültig sind dabei = gleich, != ungleich, > kleiner, < größer. Es können mehrere Kriterien aneinander gereiht werden, indem man sie mit || für ODER oder && für UND voneinander trennt.
Eine praktischer Einsatzzweck ist beispielsweise die Internationalisierung einer Webseite: |
<!--#if expr="${a} = ${b} || ${b} > 2 && ${a} != 0" --> HTML <!--#endif -->
|
[Bearbeiten] X-Bit-Hack
Der Webserver erkennt HTML-Seiten mit Server Side Includes meist an der Dateiendung .shtml oder .ssi. 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, werden alle HTML-Seiten, bei denen das Ausführ-Bit (execute 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.
[Bearbeiten] Siehe auch
[Bearbeiten] Weblinks
- Apache Tutorial: Introduction to Server Side Includes, englischsprachiges Tutorial vom Apache-Projekt
- SELFHTML: Server Side Includes, deutschsprachige Dokumentation
- Using Server Side Includes, kurzer englischsprachiger Einführungsartikel, erschienen in der Zeitschrift Apache Week

