Server Side Includes in HTML
Allgemeines zu Server Side Includes
Übersicht der Server Side Includes
Allgemeines zu Server Side Includes
Mit Hilfe von Server Side Includes (auch unter der Abkürzung SSI bekannt) können Sie direkt innnerhalb von HTML-Dateien dynamische Information, z.B. Datum und Uhrzeit, einbinden. Sie können auch CGI-Programme starten und deren Ausgaben, beispielsweise einen Zählerstand mit Anzahl Zugriffen auf die aktuelle Datei, in die HTML-Datei einbinden. Oder Sie geben den aktuellen Inhalt diverser CGI-Umgebungsvariablen direkt in HTML aus - ohne Umweg über ein separates CGI-Script.
Server Side Includes werden nur ausgeführt, wenn der WWW-Browser die HTML-Datei über einen installierten WWW-Server aufruft, also mit einer URL-Adresse vom Typ http://.... Voraussetzung ist ferner, daß der installierte WWW-Server die Server Side Includes unterstützt. Nicht alle WWW-Server tun das, andere interpretieren nur einen Teil der möglichen Angaben. Wenn der Server keine Server Side Includes kennt, funktionieren die entsprechenden Anweisungen in der HTML-Datei nicht. Beim Austesten mit einem lokal installierten WWW-Server lesen Sie hierzu bitte in der Dokumentation des Servers nach. Beim Einsatz auf einem öffentlichen WWW-Server fragen Sie Ihren Provider, ob dessen WWW-Server die Server Side Includes unterstützt.
Damit ein WWW-Server sofort erkennt, daß eine HTML-Datei Server Side Include Anweisungen enthält, ist es wichtig, solche HTML-Dateien mit einer speziellen Dateinamenendung zu kennzeichnen. Üblich sind die Dateiendungen .shtml, .shtm oder .sht. Die meisten Server ignorieren Server Side Include Anweisungen, wenn diese in einer gewöhnlichen HTML-Datei mit der Endung .htm oder .html stehen!
Beispiel: HTML-Datei test.shtml mit Server Side Includes
<html>
<head>
<title>Dynamisches HTML mit Server Side Includes</title>
</head>
<body>
<h1>Dynamisches HTML mit Server Side Includes</h1>
Datum/Uhrzeit auf dem Server-Rechner: <!-- #echo var="DATE_LOCAL" --><br>
Name dieser HTML-Datei: <!-- #echo var="DOCUMENT_NAME" --><br>
Installierte Server-Software: <!-- #echo var="SERVER_SOFTWARE" --><br>
Ihr WWW-Browser: <!-- #echo var="HTTP_USER_AGENT" -->
<h3>Weitere Informationen:</h3>
<!-- #exec cgi="/cgi-bin/plapper.pl" -->
</body>
</html>
|
Erläuterung:
Server Side Includes müssen Sie in einer HTML-Datei innerhalb eines Kommentars notieren. Es gibt verschiedene Server Side Include Anweisungen, beginnend mit einem Gatterzeichen #. Im obigen Beispiel kommen die Anweisungen #echo und #exec vor. Hinter der Anweisung folgt in der Regel eine Angabe der Art Typ="Wert". Im Zusammenhang mit der Anweisung #echo ist beispielsweise die Angabe var="Variablenname" erlaubt, wobei "Variablenname" ein bestimmter, erlaubter Name sein muß. Es kann sich um Namen von CGI-Umgebungsvariablen handeln oder um spezielle Server Sie Include Variablennamen (siehe Liste weiter unten). Bei der Anweisung #exec, die ein Programm auf dem Server-Rechner ausführt, müssen Sie den Typ des Programms (im obigen Beispiel: cgi) und als Wert die Adresse des ausführbaren Programms (im obigen Beispiel: "/cgi-bin/plapper.pl"), angeben.
Übersicht der Server Side Includes
Die Liste ist nach Anweisungen alphabetisch sortiert.
Anweisung |
Parameter/Wert |
Beispiele |
#config |
errmsg = "[Fehlermeldung]"
sizefmt = "[Wert]"
timefmt = "[Wert]"
errmsg ist sinnvoll, um bei nicht anzeigbaren Server Side Includes eine verständliche Fehlermeldung auszugeben.
sizefmt bestimmt das Format für Dateigrößenangaben, z.B. sinnvoll vor dem Gebrauch von #fsize.
Erlaubte Werte:
"abbrev" (Dateigrößenangaben erfolgen in Kbyte).
"bytes" (Dateigrößenangaben erfolgen in Byte).
timefmt bestimmt das Ausgabeformat für Datum/Uhrzeit, z.B. sinnvoll vor dem Gebrauch von #echo var= "LOCAL_TIME".
Erlaubte Platzhalter:
%a = Wochentag kurz, z.B. sat
%A = Wochentag lang, z.B. Saturday
%b = Monat kurz, z.B. Apr
%B = Monat lang, z.B. April
%d = Tag im Monat 2stellig, z.B. 09
%e = Tag im Monat, z.B. 9
%H = Uhrzeit 24stündig, z.B. 15
%I = Uhrzeit 12stündig, z.B. 03
%j = julianisches Datum, z.B. 278
%m = Monat als Zahl, z.B. 05
%M = Minuten nach Stunde, z.B. 07
%p = bei%I: AM/PM, z.B. PM
%S = Sekunden, z.B. 01
%U = Kalenderwoche, z.B. 52
%w = n-ter Tag der Woche, z.B. 5
%y = Jahr 2stellig, z.B. 97
%Y = Jahr 4stellig, z.B. 1997
%Z = Zeitzone, z.B. MEZ
|
<!-- #config errmsg = "SSI nicht anzeigbar!" -->
<!-- #config sizefmt = "bytes" -->
<!-- #config timefmt = "%d.%m.%Y, %H.%M" -->
|
#echo |
var = "[Variablenname]"
Bei [Variablenname] sind CGI-Umgebungsvariablen erlaubt oder die folgenden, speziellen Variablennamen:
- DOCUMENT_NAME (Name der HTML-Datei)
- DOCUMENT_URI (Pfad der HTML-Datei)
- LAST_MODIFIED (Zeitstempel der HTML-Datei)
- QUERY_STRING_UNESCAPED (Unkodierter GET-Übergabestring)
- DATE_LOCAL (Datum/Uhrzeit, lokal nach Server)
- DATE_GMT (Datum/Uhrzeit, nach Greenwich-Zeit)
|
<!-- #echo var = "SERVER_NAME" -->
<!-- #echo var = "DATE_LOCAL" -->
|
#exec |
cmd = "[Pfad/Programmdatei]"
cgi = "[CGI-Pfad/CGI-Programm/Script]"
Benutzen Sie cmd, um ein beliebiges Programm auf dem Server-Rechner zu starten.
Benutzen Sie cgi, um ein CGI-Programm/CGI-Script auf dem Server-Rechner auszuführen.
Es sollte sich um Programme handeln, die Daten auf die Standardausgabe schreiben. Diese Datenausgaben werden dann direkt in die HTML-Datei geschrieben.
|
<!-- #exec cmd = "/prog/search.exe *.htm" -->
<!-- #exec cgi = "/cgi-bin/counter.pl" -->
|
#fsize |
file = "[Pfad/Datei]"
Gibt die Größe der angegebenen Datei aus.
|
<!-- #fsize file = "/download/selfhtml.zip" -->
|
#flastmod |
file = "[Pfad/Datei]"
Gibt den Zeitstempel der angegebenen Datei aus.
|
<!-- #flastmod file = "/index.htm" -->
|
#include |
file = "[Pfad/Datei]"
virtual = "[Pfad/Datei]"
Gibt den Inhalt der angegebenen Datei aus.
Verwenden Sie file für absolute Pfadangaben auf dem Server-Rechner und virtual für relative Pfadangaben bezogen auf das Wurzelverzeichnis für Dokumente des WWW-Servers.
|
<!-- #include virtual = "/news/news.htm" -->
|
© 1997 Stefan Münz, s.muenz@euromail.com