| |
Die AliasMatch- und SkriptAliasMatch-Direktiven erweitern diese Möglich-
keit um die Verwendung von regulären Ausdrücken.
Gänzlich uneingeschränkt stellen sich die Möglichkeiten des Rewritings dar.
Rewriting nutzt beliebig viele und beliebig komplizierte, auf regulären Aus-
drücken basierende Umbildungsmuster für die Umlenkung bei der URI
Überset-
zung. Das Modul, welches das Rewriting ausführt, kann die Muster aus txt- oder
dbm-Datenbanken holen oder beliebige ausführbare Programme und Skripte
nutzen.
3.6 Common Gateway Interface (CGI)
Dieser Abschnitt erläutert kurz das Prinzip von CGI, einer Schnittstelle, die
vom Apache Web Server zur Verfügung gestellt wird. Die CGI-Schnittstelle
dient dem Aufruf externer Programme zur dynamischen Erstellung von html-
Seiten und zur Bearbeitung von Benutzereingaben.
Die Programme können in einer beliebigen, auf dem System ausführbaren Spra-
che geschrieben sein, z.B. in C. Häufig wird von der Ausführung von CGI-
Skripten gesprochen, da die CGI-Programme meistens in Skript- bzw. Inter-
pretersprachen wie Perl, Tcl, Phyton, PHP oder in Form von Shell-Skripten
geschrieben sind.
Die gängigste Form der Anwendung von CGI ist die Verarbeitung von Formu-
lareingaben. Der Aufruf erfolgt über eine der beiden HTTP-Methoden GET
oder POST. Das folgende html-Formular
<FORM METHOD="GET" ACTION="/cgi-bin/script">
Vorname: <INPUT NAME="Vorname" TYPE="TEXT">
Nachname: <INPUT NAME="Nachname" TYPE="TEXT">
<INPUT TYPE="SUBMIT" VALUE="abschicken">
</FORM>
benutzt die GET-Methode und bewirkt, mit dem Vornamen Ste en und dem
Nachnamen Wachenfeld ausgefüllt, die Anfrage
GET /cgi-bin/script?Vorname=Steffen&Nachname=Wachenfeld HTTP/1.0
Die Formularinhalte sind an den URI durch ein ? getrennt angefügt. Das
CGI Programm wird aufgerufen und erhält diesen Zusatz als Parameter. Es
kann dann Aktionen ausführen und eine Antwort generieren, die wie eine nor-
male Seite zurückgeschickt wird.
Die zweite Möglichkeit, Daten an ein CGI-Skript zu senden, ist die Verwendung
der POST-Methode. Dabei werden dem Webserver die Daten im Entity-Body
(siehe Anhang B) übergeben.
In beiden der genannten Möglichkeiten muss der Apache Webserver wissen,
dass es sich bei /cgi-bin/script um ein CGI-Programm handelt. Es gibt beim
Apache zwei grundlegende Möglichkeiten, um ein Datei als CGI-Programm zu
deklarieren. Die erste Möglichkeit ist die, ein oder mehrere Verzeichnisse als
CGI-Verzeichnisse zu definieren, wodurch alle im Verzeichnis enthaltenen Da-
teien von Apache als CGI-Programme angesehen werden. Ein Beispiel hierfür
ist:
13
|  |
|
| |
|
|