Server Side Includes (SSI)

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 einfach zu verwendende Alternative zu Programmen/Scripten dar, die das ganze Dokument dynamisch generieren. 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.

Variablen ausgeben

<!--#echo var="VARIABLE"-->

Vordefinierte Variablen:

HTTP_HOST=www.michael-puff.de
HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
HTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE=de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_ACCEPT_CHARSET=ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_DNT=1
HTTP_REFERER=http://www.michael-puff.de/Admin/EditPage.php?action=edit
HTTP_CONNECTION=keep-alive
HTTP_CACHE_CONTROL=max-age=0
PATH=/bin:/usr/bin:/usr/ucb:/usr/bsd:/usr/local/bin
SERVER_SIGNATURE=<address>Apache Server at www.michael-puff.de Port 80</address>
SERVER_SOFTWARE=Apache
SERVER_NAME=www.michael-puff.de
SERVER_ADDR=194.117.254.33
SERVER_PORT=80
REMOTE_ADDR=87.168.199.30
DOCUMENT_ROOT=/var/www/l3s11195/html
SERVER_ADMIN=[no address given]
SCRIPT_FILENAME=/var/www/l3s11195/html/Programmierung/HTML/Server-Side-Includes.shtml
REMOTE_PORT=3883
GATEWAY_INTERFACE=CGI/1.1
SERVER_PROTOCOL=HTTP/1.1
REQUEST_METHOD=GET
QUERY_STRING=
REQUEST_URI=/Programmierung/HTML/Server-Side-Includes.shtml
SCRIPT_NAME=/Programmierung/HTML/Server-Side-Includes.shtml
DATE_LOCAL=Mon, 2011-11-14T12:35:15 UTC+0100
DATE_GMT=Mon, 2011-11-14T11:35:15 UTC+0000
LAST_MODIFIED=Mon, 2011-11-14T12:35:04 UTC+0100
DOCUMENT_URI=/Programmierung/HTML/Server-Side-Includes.shtml
DOCUMENT_NAME=Server-Side-Includes.shtml
<!--#printenv--> gibt alle Variablen und deren Werte aus, die per SSI verfügbar sind.

Letzte Änderungsdatum einer Datei

<!--#flastmod file="Server-Side-Includes.shtml"--> ergibt Mon, 2011-11-14T12:40:51 UTC+0100.

Dateigröße

<!--#fsize virtual="/Programmierung/HTML/Server-Side-Includes.shtml"--> ergibt 6.2K
<!--#fsize file="Server-Side-Includes.shtml"--> ergibt 6.2K

Datei einfügen

<!--#include file="fuss.html"-->
[an error occurred while processing this directive]

Variablen formatieren

<!--#config BEFEHL="PARAMETER"-->

<!--#config sizefmt="bytes"--> Gibt das Format an, in dem die Dateigröße eingefügt werden sollen. Hier kann "bytes" für die Angabe in Byte oder auch "abbrev" für die Angabe in Kilobyte (1024 byte) eingetragen werden.

Mit <!--#config timefmt="PARAMETER"--> wird die Datumsausgabe formatiert. Die Formatierung: <!--#config timefmt="%d.%m.%Y, um %H.%M"--> Ergibt: 14.11.2011, um 09.08

%a Wochentag kurz, z.B. Mon
%A Wochentag lang, z.B. Monday
%b Monat kurz, z.B. Nov
%B Monat lang, z.B. November
%Z Zeitzone, z.B. CET
%d Tag im Monat 2stellig, z.B. 14
%e Tag im Monat, z.B. 14
%m Monat als Zahl, z.B. 11
%M Minuten nach Stunde, z.B. 08
%S Sekunden, z.B. 23
%H Uhrzeit 24stündig, z.B. 09
%I Uhrzeit 12stündig, z.B. 09
%U Kalenderwoche, z.B. 46
%y Jahr 2stellig, z.B. 11
%Y Jahr 4stellig, z.B. 2011
%z +0100

Links

2011-11-14T12:40:51 +0100, mail+homepage[at]michael-puff.de