SELFHTML/Quickbar  Einführung  Ergänzungen und Alternativen zu HTML


CGI (Common Gateway Interface)

Diese Seite ist ein Dokument mit Informationstext

 CGI: Common Gateway Interface
 Öffentliche CGI-Dienste
 Hilfen und CGI-Scripts im WWW

 

CGI: Common Gateway Interface

Das Common Gateway Interface (Allgemeine Vermittlungsrechner-Schnittstelle) ist eine 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 können.

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 - das sind Programme, 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, oder, was ein Anwender in ein Gästebuch geschrieben hat. 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.

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. Falls Sie unsicher sind, fragen Sie Ihren Provider, ob er Ihnen eine CGI-Schnittstelle zur Verfügung stellt. Bei preiswerten oder gar kostenlosen Homepage-Vermittlern wie CompuServe, AOL usw. steht Ihnen 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 in der Unix-Shell-Sprache oder in Perl geschrieben. Die Unix-Shell-Sprache wird von allen Unix-Rechnern interpretiert. Für Perl muß ein entsprechender Interpreter installiert sein. Fragen Sie hierzu Ihren Provider.

Das folgende Beispiel zeigt eine typische CGI-Situation, wie sie zum Beispiel für Suchdienste im WWW erforderlich ist.

CGI-Beispiel

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, 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. Stattdessen erscheint eine neue Seite mit den Suchergebnissen, dynamisch generiert von dem CGI-Programm.

Mehr über CGI-Programmierung erfahren Sie innerhalb von SELFHTML im Abschnitt  CGI/Perl

 

Ö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 müssen Sie sich registrieren lassen. Dafür erhalten Sie dann einen HTML-Code, den Sie in Ihre eigenen HTML-Dateien einbauen können, und der ein entsprechendes CGI-Programm auf dem Server-Rechner des öffentlichen CGI-Anbieters aufruft.

Einige dieser Dienste sind kostenlos, andere können Sie nur gegen Gebühr in Anspruch nehmen. Die Gebühren sind jedoch meist sehr gering (z.B. DM 20.-/Jahr für Zugriffszähler und Statistik für die eigene Homepage). Hier eine kleine Auswahl an typischen solcher Dienste:

 ICount
Zugriffszähler für eigene WWW-Seiten

 Digits
Zugriffszähler und Statistik für eigene WWW-Seiten

 WebHits
Zugriffszähler und Statistik für eigene WWW-Seiten

 Hot-Count
Zugriffszähler und Statistik für eigene WWW-Seiten

 Mops
Zugriffszähler für eigene WWW-Seiten

 kbCount
Zugriffszähler und Statistik für eigene WWW-Seiten

 FixWeb
Zugriffszähler und Statistik für eigene WWW-Seiten

 FWM Counter
Zugriffszähler und Statistik für eigene WWW-Seiten

 LPage
Gästebücher für eigene WWW-Seiten

 GuestPAD
Gästebücher für eigene WWW-Seiten

 Spin
Gästebücher für eigene WWW-Seiten

 CWAK Mailservice
Formulare per CGI verarbeiten und zuschicken lassen

 NetMind
Anwender automatisch per E-Mail über Änderungen auf einer WWW-Seite informieren

Jederzeit aktuelle Informationen zu kostenlosen Service-Diensten im Internet bieten die  Webindex-Tips von Wilfried Arimont und Ehrenfried Ehrenstein. Diese Seite sollten Sie unbedingt besuchen, wenn Sie Ihre Homepage bei einem Discount-Provider haben und nach preiswerten Erweiterungsmöglichkeiten suchen. Ähnliche Informationen bietet das Projekt  All4Free von Markus Buschmann.

 

Hilfen und CGI-Scripts im WWW

Es gibt eine Fülle von Informationen rund um das Thema CGI im WWW. Die folgenden Verweise stellen eine kleine Auswahl ausführlicher Dokumentationen dar.

 CGI-Tutorial von LPage
 CGI leicht gemacht - von Friedemann Wachsmuth
 The Common Gateway Interface - NCSA-Spezifikation und Dokumentation
 comp.infosystems.www.authoring.cgi (Newsgroup)

Wenn Sie eine eigene CGI-Schnittstelle haben, aber kein Interesse, keine Zeit oder nicht die nötige Geduld haben, um sich selbst in die CGI-Programmierung einzuarbeiten, können Sie fertige CGI-Scripts aus dem WWW downloaden. In der Regel müssen die Scripts noch auf die Umgebung Ihres Servers angepaßt werden. Die Scripts sind jedoch in den meisten Fällen dokumentiert. Dabei wird genau beschrieben, was Sie tun müssen, um das Script auf Ihrem Server zum Laufen zu bringen.

 Realm of CGI
Gästebuch, Nachrichtenforum, Chat, Zugriffszähler, Chat-Programm - Freeware Scripts von Wolfgang Wiese

 CGI Maschine
Zugriffszähler, Datenbankdurchsuchung, E-Mail-Responder usw. - Shareware Scripts

 HotCGI
Paßwortschutz, E-Mail-Responder, Gästebuch usw. - Free-/Shareware Scripts

 Matt's Perl CGI Scripts
Zugriffszähler, Gästebuch, Nachrichtenforum, Kreditkartenkauf, Suchmaschine usw. - Freeware-Scripts in Perl von Matt Wright

 Script Archive
E-Mail-Verarbeitung, Gästebuch, Zugriffszähler, Digitaluhr, Paßwortschutz, Chat-Programm - Freeware-Scripts in Perl von Robert Niles

 Selena Sol's CGI Script Archive
Gästebuch, Einkaufskorb, Suchmaschine, Nachrichtenforum, Paßwortschutz usw. - Public Domain Scripts

weiter: Java
zurück: JavaScript
 

SELFHTML/Quickbar  Einführung  Ergänzungen und Alternativen zu HTML

© 1998  Stefan Münz, muenz@csi.com