Next: Parameterübergabe an CGI-Skripten
Up: Common Gateway Interface (CGI)
Previous: Common Gateway Interface (CGI)
Das Common Gateway Interface (CGI) [McC93] ist ein standardisiertes Verfahren im
WWW, das es ermöglicht, Dokumente zum Zeitpunkt der Client-Anfrage
dynamisch durch ein Programm zu generieren.
Ein WWW-Server kann mit Hilfe des CGI als Gateway zu fast
beliebigen Informationssystemen dienen. Über HTML-Formulare ist der
Benutzer eines WWW-Clients beispielsweise in der Lage, komplexe Anfragen
an Datenbanken zu stellen, die durch externe Programme bearbeitet, und
deren Ergebnisse an den Benutzer zurückgeschickt werden.
Der Ablauf ist dabei wie folgt: Der Benutzer setzt über seinen WWW-Client eine
Anfrage an den WWW-Server ab. Dieser erkennt anhand des URL, daß als
Antwort auf die Anfrage nicht der Inhalt einer Datei bzw. ein statisches Dokument
zurückzuliefern ist, sondern ein externes Programm ausgeführt werden muß,
das ein Dokument dynamisch generiert. Der Server ruft dieses Programm auf
und übergibt ihm die Parameter, die der Client in seiner Anfrage spezifiziert
hat. Das externe Programm erzeugt daraufhin das gewünschte Dokument und
schreibt es auf die Standardausgabe. Der WWW-Server seinerseits leitet dann
das dynamisch generierte Dokument an den WWW-Client zurück.
Das CGI ist eine Schnittstellenspezifikation zum Aufruf und zur
Parameterversorgung von externen Programmen. Der WWW-Server und das
aufgerufene Programm kommunizieren über Umgebungsvariablen (Anhang A), die
Informationen über den WWW-Server und die vom Client empfangene Anfrage
enthalten. Der CGI-Standard legt dazu Namen und Inhalt dieser Variablen fest.
Daneben besteht die Möglichkeit, externe Programme über die Kommandozeile
oder über die Standardeingabe mit Parametern zu versorgen.
Programme, die dem CGI-Standard entsprechen, werden als CGI-Skripten
bezeichnet und sind ohne Änderung auf unterschiedlichen CGI-kompatiblen
WWW-Servern ablauffähig.
Das CGI sorgt somit für Kompatibilität zwischen WWW-Server einerseits und
externen Programmen andererseits.
Die Entwicklung solcher CGI-Skripten ist nicht an eine bestimmte Sprache
gebunden. Sie können in jeder beliebigen Sprache, wie beispielsweise C/C++,
perl oder C Shell, implementiert werden, mit der man ausführbare Programme
erstellen kann.
Next: Parameterübergabe an CGI-Skripten
Up: Common Gateway Interface (CGI)
Previous: Common Gateway Interface (CGI)
Root on HPHEGER0
8/27/1998