CGI (Common Gateway Interface) |
|
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.
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
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.
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 |