HTML-Dateien selbst erstellen
Einführung
Ergänzungen und Alternativen zu HTML

CGI: Server-Datenspeicherung und dynamisches HTML


 CGI: Common Gateway Interface
 Aufrufbarkeit von CGI-Programmen
 Öffentliche CGI-Dienste
 Informationen zu CGI im WWW
 CGI-Scripts als Free- und Shareware 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.

GCI - 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.

Beispiel:

CGI-Beispiel

Erläuterung:

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 im Abschnitt  Dokumentation: CGI/Perl

Aufrufbarkeit von CGI-Programmen

Sie können jedes CGI-Programm aufrufen, dessen Aufruf Sie kennen. Dabei ist es egal, auf welchem Server-Rechner das CGI-Programm liegt. So können Sie auch CGI-Programme aud fremden Server-Rechnern nutzen, wenn Sie deren Aufruf kennen.

Beispiel:

Suchen Sie wonach Sie wollen!

Erläuterung:

Das obige Formular durchsucht einen Datenbestand von weit über 30 Gigabyte Größe (= über 50 prall gefüllte CD-ROMs) mit weit mehr als 10 Millionen gespeicherten WWW-Seiten. Es handelt sich um eine der größten Suchdatenbanken im WWW, um  Altavista .

Geben Sie in das Eingabefeld ein einzelnes Wort ein, zum Beispiel Zaubertricks oder Gütersloh, oder geben Sie zusammengehörige Wörter in Anführungszeichen ein, zum Beispiel "Stefan Münz" oder "Rolling Stones". Mit dem Starten der Suche rufen Sie das CGI-Programm von Altavista auf, das die Suche verarbeitet. Dazu ist allerdings eine Online-Verbindung ins Internet erforderlich. Das CGI-Programm hat die WWW-Adresse http://altavista.digital.com/cgi-bin/query. Dabei ist query der Dateiname des ausführbaren CGI-Programms. Wenn das Programm erfolgreich aufgerufen wurde, erhalten Sie als nächstes die Ergebnisse Ihrer Suche am Bildschirm

Das CGI-Programm wird im obigen Beispiel beim  Definieren eines Formulars aufgerufen.

Beachten Sie:

Um eigene Daten, etwa die Zugriffszahlen auf die eigenen WWW-Seiten anzuzeigen, benötigen Sie entweder eigene CGI-Programme, oder Sie nehmen einen  öffentlichen CGI-Dienst in Anspruch. Fremde CGI-Programme sollten Sie immer nur zum Nutzen der Anwender aufrufen, zum Beispiel, indem Sie eine deutschsprachige Version eines im Original engslischsprachigen Formulars anbieten und beim Absenden des Formulars das fremde CGI-Programm aufrufen.

Ö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).

 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

 FixWeb 
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 (so können Sie das mailto-Problem des MS Internet Explorer umgehen!)

 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. 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  Internet für Geizige  von Markus Buschmann.

Informationen zu CGI im WWW

Es gibt eine Fülle von Informationen rund um das Thema CGI im WWW. Die folgende Verweisliste stellt 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 
 CGI Manual of Style - von Robert McDaniel 
 comp.infosystems.www.authoring.cgi (Newsgroup) 

CGI-Scripts als Free- und Shareware im WWW

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. Die meisten Angebote sind jedoch englischsprachig.

 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


Blättern:
Infos zu HTML im Internet     Java: Animation und Interaktion

HTML-Dateien selbst erstellen
Einführung
Ergänzungen und Alternativen zu HTML

© 1997  Stefan Münz, s.muenz@euromail.com