| 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:

#### 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