next up previous contents
Next: Parameterübergabe an CGI-Skripten Up: Common Gateway Interface (CGI) Previous: Common Gateway Interface (CGI)

Funktionsweise

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 up previous contents
Next: Parameterübergabe an CGI-Skripten Up: Common Gateway Interface (CGI) Previous: Common Gateway Interface (CGI)
Root on HPHEGER0
8/27/1998