LOG IN Leitseite

Nach oben ] Editorial ] [ Grundbildung ] Grundbildung ] Thema ] Anwendungen ] [2000]

 


[LOG IN]


LOG IN: 17 (1997) Heft 3/4
Aktuelles Lexikon

CGI

Common Gateway Interface

von Stefan Münz


Das Common Gateway Interface (Allgemeine Vermittlungsrechner-Schnittstelle) bietet die Möglichkeit, Programme im WWW bereitzustellen, die von HTML-Dateien aus aufgerufen werden können, und die selbst HTML-Code erzeugen und an einen WWW-Browser senden.

Wenn Sie im WWW eine Suchdatenbank benutzen, Pizza oder Büstenhalter bestellen, sich in ein Gästebuch eintragen oder einen Zähler mit Zugriffszahlen sehen, dann steckt CGI oder eine CGI vergleichbare Schnittstelle dahinter.
CGI besteht aus Programmen, die auf einem Server-Rechner im Internet liegen und bei Aufruf bestimmte Daten verarbeiten. Die Datenverarbeitung geschieht auf dem Server-Rechner. CGI-Programme können auf dem Server-Rechner Daten speichern (zum Beispiel, wie oft auf eine WWW-Seite zugegriffen wurde). Bei entsprechendem Aufruf kann ein CGI-Programm gespeicherte Daten auslesen und daraus HTML-Code generieren. Dieser „dynamisch“ erzeugte HTML-Code wird an den aufrufenden WWW-Browser eines Anwenders übertragen und kann dort individuelle Daten in HTML-Form anzeigen, zum Beispiel den aktuellen Zugriffszählerstand einer WWW-Seite oder die bisherigen Einträge in einem Gästebuch.

CGI-Schnittstelle und Programmiersprache
Die sogenannte CGI-Schnittstelle muß von der WWW-Server-Software unterstützt werden. Aus Sicht des Mieters von Speicherplatz auf einem WWW-Server steht die CGI-Schnittstelle in Form eines bestimmten Verzeichnisses zur Verfügung. Meistens hat dieses Verzeichnis den Namen cgi-bin. In diesem Verzeichnis können Programme abgelegt werden, die CGI-Aufgaben übernehmen. Bei preiswerten oder gar kostenlosen Homepage-Vermittlern wie CompuServe, AOL usw. steht normalerweise keine CGI-Schnittstelle zur Verfügung.
Es gibt keine Vorschriften dafür, in welcher Programmiersprache ein CGI-Programm geschrieben ist. Damit das Programm auf dem Server-Rechner ausführbar ist, muß es entweder für die Betriebssystem-Umgebung des Servers als ausführbares Programm kompiliert worden sein oder es muß auf dem Server ein Laufzeit-Interpreter vorhanden sein, der das Programm ausführt. Wenn der Server zum Beispiel ein UNIX-Rechner ist, führt er C-Programme aus, die mit einem UNIX-C-Compiler zu einer ausführbaren Datei kompiliert wurden. Wenn der Server ein Windows-NT-Rechner ist, können CGI-Scripts auch EXE-Dateien sein, die mit 32-Bit-Compilern für C, PASCAL, Visual BASIC usw. erzeugt wurden. Die meisten heutigen CGI-Programme sind als UNIX-Shell verfaßt oder in PERL geschrieben. Die UNIX-Shell wird von allen UNIX-Rechnern interpretiert. Für PERL muß ein entsprechender Interpreter installiert sein.
Die Abbildung (unten) zeigt eine typische CGI-Situation, wie sie zum Beispiel für Suchdienste im WWW erforderlich ist.
In dem Beispiel kann der Anwender in einer angezeigten HTML-Datei in einem Formular Daten eingeben, zum Beispiel eine Suche in einer Datenbank formulieren. Nach dem Abschicken des Formulars an den Server-Rechner wird ein CGI-Programm aufgerufen. Das CGI-Programm setzt die vom Anwender eingegebenen Daten in eine Datenbankabfrage um. Wie das genau funktioniert, hängt von der Datenbank ab. Es gibt eine international standardisierte Datenbankabfragesprache, SQL (siehe LOG IN 5/6’87, S. 68 f.), die hierbei sehr häufig zum Einsatz kommt. Die Datenbankanwendung liefert die Suchergebnisse an das aufrufende CGI-Programm zurück (oder schreibt sie in eine Datei, die das CGI-Programm dann auslesen kann). Das CGI-Programm erzeugt nun HTML-Code, wobei es die Suchergebnisse als Daten in den HTML-Code einbaut. Den HTML-Code sendet das CGI-Programm an den WWW-Browser, der die Suchabfrage gestartet hat. Am Bildschirm des Anwenders verschwindet die WWW-Seite mit dem Suchformular und es erscheint eine neue Seite mit den Suchergebnissen, dynamisch generiert von dem CGI-Programm.

Aufrufen von CGI-Programmen
Es kann jedes CGI-Programm aufgerufen werden, dessen Aufruf bekannt ist. Dabei ist es egal, auf welchem Server das CGI-Programm liegt. So können auch CGI-Programme auf fremden Servern genutzt werden, wenn deren Aufruf bekannt ist.
Um eigene Daten – etwa die Zugriffszahlen auf die eigenen WWW-Seiten – anzuzeigen, benötigt man entweder eigene CGI-Programme oder nimmt einen öffentlichen CGI-Dienst in Anspruch. Fremde CGI-Programme sollten immer nur zum Nutzen der Anwender aufgerufen werden, zum Beispiel, indem eine deutschsprachige Version eines im Original englischsprachigen Formulars angeboten wird und man beim Absenden des Formulars das fremde CGI-Programm aufruft.

Öffentliche CGI-Dienste
Um Anbietern von WWW-Seiten, die sich mit CGI nicht auskennen oder kein CGI zur Verfügung haben, CGI-Möglichkeiten zur Verfügung zu stellen, gibt es mittlerweile viele öffentliche CGI-Dienste im WWW. Bei diesen Diensten muß man sich registrieren lassen. Dafür erhält man dann einen HTML-Code, der in die eigenen HTML-Dateien eingebaut werden kann, und der ein entsprechendes CGI-Programm auf dem Server-Rechner des öffentlichen CGI-Anbieters aufruft.
Einige dieser Dienste sind kostenlos, andere kann man nur gegen Gebühr in Anspruch nehmen. Die Gebühren sind jedoch meist sehr gering (z.B. 20 Mark im Jahr für Zugriffszähler und Statistik für die eigene Homepage).
Stefan Münz

Der Artikel wurde mit freundlicher Genehmigung der Informationsdatei „HTML-Dateien selbst erstellen – Das Kompendium für Entwickler von WWW-Seiten“ entnommen. Das Dokument ist u.a. zu finden unter der URL http://www.netzwelt.com/selfhtml/


Nach oben
Weiter

Nach oben
Weiter