VSIS: Arbeitsgruppe Verteilte Systeme und Informationssysteme prInt: Das Praktikum Internet-Werkzeuge  Praktikum Internet-Werkzeuge   Fachbereich
  Aufgaben  Dokus  Links   Universität Hamburg

Server Side Includes

Server Side Includes (SSIs) sind Kommandos in XHTML-Dateien, die vom Server ausgeführt werden bevor ein Dokument zum Client geschickt wird. Dafür müssen die entsprechenden Dateien vom WWW-Server geparst (interpretiert) werden. Trifft er auf ein entsprechendes SSI-Kommando, so werden von ihm die angegebenen Funktionen ausgeführt.

SSI-Kommandos sind keine XHTML-Kommandos, sondern Server-Spezifische Anweisungen, die von Server zu Server verschieden sein können. Normalerweise werden SSI-Kommandos in XHTML-Kommentaren (<!-- -->) eingebunden, damit klar ersichtlich ist, daß es sich nicht um XHTML-Kommandos handelt.

Möglichkeiten von SSIs

Mit SSI können beispielsweise lokale Variablen wie Datum und Uhrzeit in das XHTML-Dokument eingefügt werden. Weiter können zum Beispiel Dateien wie eine Logo-Datei oder eine Signatur-Datei eingefügt werden.

Syntax

Die Syntax von SSIs für den Apache- und den NCSA-WWW-Server ist folgendermaßen:

<!--#Kommando Parameter="Wert"-->

Typische Bespiele für SSIs sind

<!--#include virtual="/cgi-bin/countme.cgi"-->

oder

<!--#include virtual="file.XHTML"-->

Einige wichtige Kommandos

#INCLUDE

Eines der nützlichsten SSIs ist das #INCLUDE, womit man eine Datei innerhalb der XHTML-Datei einfügen kann.

Bitte erinnern Sie sich, dass sich dies auf dem Server abspielt, also bevor die Seite an den Client gesendet wird. Dies ist ein hervorragender Weg, um die Organisation von grossen Seiten zu verbessern und vereinfachen. Ein Beispiel kann z.B. ein Wetterdienst sein, wo das Grundgerüst immer gleich bleibt, nur die aktuellen Wetterdaten werden in das XHTML-File eingespeist.

Mögliche Parameter sind "virtual=" bzw. "file=" für die Angabe des einzufügenden Dokuments mit vollem virtuellen WWW-Pfad oder relativ zum aktuellen Dokument. Beim Parameter "file=" können weder absolute Pfade noch Dokumente aus übergeordneten Verzeichnissen (sprich kein "../") angegeben werden.

Ausserdem ist es möglich, an dieser Stelle ein CGI-Skript auszuführen. Der Server wartet dann auf das Ergebnis des CGI-Skripts, bevor er mit dem Parsing der Seite weitermacht. Das setzt allerdings voraus, dass alle Vorkehrungen für den Gebrauch von SSI und alle Vorkehrungen für den Gebrauch von CGI getroffen worden sind.

(Technische Bemerkung: Die Sicherheitsvorkehrungen für SSI sind auf andere Weise implementiert als diejenigen für das cgi-bin-Verzeichnis. Daher ist es nicht ungewöhnlich, dass einige Seiten CGI erlauben, SSIs aber nicht. Fragen Sie Ihren Webmaster, was Sie berechtigt sind zu gebrauchen und was nicht.)

#ECHO

Das Einfügen abhängiger Werte des WWW-Servers in Dokumente kann mit diesem Kommando erfolgen.

Der Parameter "var=" kann dabei folgende Werte haben und liefert damit das Ergebnis:

Variable        aktueller Wert

DATE_GMT        Thursday, 03-Apr-97 14:40:07 GMT
DATE_LOCAL      Thursday, 03-Apr-97 16:40:07 MET DST
DOCUMENT_NAME   index.XHTML
DOCUMENT_URI    /~ftpsoft/Docs/index.XHTML
HTTP_ACCEPT     image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
HTTP_USER_AGENT Mozilla/3.01 (X11; I; Linux 2.0.10 i586)
LAST_MODIFIED   Tuesday, 11-Mar-97 20:53:36 MET
REMOTE_ADDR     134.100.15.182
REMOTE_HOST     vsyspc10.informatik.uni-hamburg.de
SERVER_NAME     www.informatik.hu-berlin.de
SERVER_PORT     80
SERVER_SOFTWARE NCSA/1.3
fsize und flastmod Die beiden Kommandos fügen die aktuelle Größe und die Zeit des letzten Zugriffs einer angegebenen Datei ein.

Die Parameter stimmen mit denen von include überein.

Weitere Informationen für die APACHE SSIs gibt es unter der Apache-Dokumentation.

Autor: Harald Weinreich, geändert von Hartmut Obendorf und Christian P. Kunze.

Mi 12-16 Uhr Raum: B-201 und RZ Start: 05.04.2006
Eine Veranstaltung des Arbeitsbereichs Verteilte Systeme und Informationssysteme (VSIS)

Letzte Änderung : 05.04.2005 - 11:31
EMail: prInt06@vsis.informatik.uni-hamburg.de