SELFHTML

Die CGI-Schnittstelle

Informationsseite

nach unten Die CGI-Schnittstelle
nach unten CGI-Informationen

 nach unten 

Die CGI-Schnittstelle

Die CGI-Schnittstelle (Common Gateway Interface - Allgemeine Vermittlungsrechner-Schnittstelle) ist eine M�glichkeit, Programme oder Scripts im Web bereitzustellen, die von HTML-Dateien aus aufgerufen werden und die selbst HTML-Code erzeugen und an einen Web-Browser senden k�nnen. Im Unterschied zu Seite JavaScript werden solche Scripts oder Programme aber nicht nach dem �bertragen einer Web-Seite im Browser des Anwenders ausgef�hrt, sondern bevor der Browser vom Server Daten �bertragen bekommt. Deshalb sind CGI-Programme auch nur ausf�hrbar, wenn eine HTTP-basierte Kommunikation zwischen Web-Browser und Web-Server stattfindet. CGI ist dabei auf der Server-Seite angesiedelt.

Die Datenverarbeitung geschieht ebenfalls auf dem Server-Rechner. CGI-Programme k�nnen auf dem Server-Rechner Daten speichern, zum Beispiel, wie oft auf eine Web-Seite zugegriffen wurde, oder, was ein Anwender in ein G�stebuch geschrieben hat. Ein CGI-Programm kann auf dem Server-Rechner auch installierte Datenbanken abfragen. Bei entsprechendem Aufruf kann ein CGI-Programm gespeicherte Daten auslesen und daraus HTML-Code generieren. Dieser "dynamisch" erzeugte HTML-Code wird an den aufrufenden Web-Browser eines Anwenders �bertragen und kann dort individuelle Daten in HTML-Form anzeigen, zum Beispiel den aktuellen Zugriffsz�hlerstand einer Web-Seite, die bisherigen Eintr�ge in einem G�stebuch oder Ergebnisse einer Datenbanksuche.

Es gibt keine Vorschriften daf�r, in welcher Programmiersprache ein CGI-Programm geschrieben ist. Damit das Programm auf dem Server-Rechner ausf�hrbar ist, muss es entweder f�r die Betriebssystemumgebung des Server-Rechners als ausf�hrbares Programm kompiliert worden sein, oder es muss auf dem Server ein Laufzeitinterpreter vorhanden sein, der das Programm ausf�hrt. Der Server f�hrt z.B. C-, Pascal- oder auch Visual-Basic-Programme aus, die mit einem jeweiligen Compiler zu einer ausf�hrbaren Datei kompiliert wurden. Die meisten heutigen CGI-Programme sind jedoch keine kompilierten Programme, sondern lediglich Scripts, die von einem Interpreter beim Aufruf ausgef�hrt werden. Der bekannteste und beliebteste Interpreter ist dabei der Seite Perl-Interpreter.

Die CGI-Schnittstelle steht zur Verf�gung, wenn ein Web-Server installiert ist, der CGI unterst�tzt und das Ausf�hren von CGI-Programmen erlaubt. Sie k�nnen sich selbst auf Ihrem PC Seite lokal einen Web-Server einrichten, um dort mit CGI-Programmen zu testen. Wenn Sie bei einem Provider auf einem �ffentlichen Web-Server im Internet Speicherplatz f�r eigene Web-Seiten erhalten, k�nnen Sie die Funktionalit�t dieses Web-Servers benutzen, um eigene CGI-Programme im Web einzusetzen. Wie gesagt muss Ihr Provider Ihnen die Nutzung der CGI-Schnittstelle erm�glichen. Bei manchen preiswerten oder gar kostenlosen Homepage-Vermittlern ist dies nicht der Fall. Fragen Sie den Provider im Zweifelsfall danach!

Um die CGI-Schnittstelle nutzen zu k�nnen, ben�tigen Sie Zugriff auf ein bestimmtes Verzeichnis auf dem Server-Rechner, das CGI-Programme enthalten darf. Meist tr�gt dieses Verzeichnis den Namen cgi-bin. CGI-Programme werden nur dann ausgef�hrt, wenn sie in diesem Verzeichnis liegen. Welches das CGI-Verzeichnis sein soll und wie Sie es ansprechen wollen, k�nnen Sie beim Seite Einrichten des eigenen Web-Servers festlegen. Je nach Server k�nnen Sie auch mehrere CGI-Verzeichnisse einrichten. Bei einem Provider, der Ihnen �ffentlichen Web-Speicher mit CGI-Schnittstelle eingerichtet hat, finden Sie das CGI-Verzeichnis bereits vor. Sie brauchen dann nur noch Ihre CGI-Programme in dieses Verzeichnis hochzuladen (siehe auch Seite CGI-Scripts auf �ffentlichem Web-Server installieren).

Die CGI-Schnittstelle ruft nicht nur das jeweils auszuf�hrende Programm auf und leitet dessen Antwort weiter, sondern stellt auch eine Reihe von Daten bereit, die der Web-Server speichert und die ein CGI-Programm auslesen kann (und zum Teil auslesen muss), um Daten verarbeiten zu k�nnen. Diese Daten speichert der Web-Server in so genannten Seite CGI-Umgebungsvariablen.

Die Spezifikation (verbindliche Beschreibung) f�r die CGI-Schnittstelle wird zur Zeit von der englischsprachige Seite NCSA Software Development Group betreut. Derzeit liegt diese Definition in der Version 1.1 vor. Andere Schnittstellen f�r ausf�hrbare Programme im Web, die von kommerziellen Herstellern wie Netscape oder Microsoft eingef�hrt wurden, machen der klassischen CGI-Schnittstelle Konkurrenz. Von Netscape stammt beispielsweise die API-Schnittstelle (auch NSAPI genannt), von Microsoft die ISAPI-Schnittstelle. Beide Schnittstellen sind f�r die Server-Software-Produkte der jeweiligen Hersteller optimiert und erreichen eine Performance bei der Datenverarbeitung, die ein Mehrfaches der CGI-Schnittstelle betr�gt. Ein entscheidender Vorteil der CGI-Schnittstelle bleibt jedoch die Tatsache, dass es sich - �hnlich wie bei HTML - um einen kommerziell unabh�ngigen, kostenlosen und produkt�bergreifenden Standard handelt.

Die meistbenutzte Programmiersprache f�r CGI-Programme ist noch immer die Scriptsprache Kapitel Perl. Der Grund daf�r ist, dass Perl sehr m�chtige Funktionen besitzt, z.B. f�r Zeichenkettenoperationen oder f�r das Lesen und Schreiben von Daten. Der Perl-Interpreter, der zum Ausf�hren eines Perl-Scripts erforderlich ist, ist f�r fast alle Betriebssysteme als Freeware verf�gbar und auf fast allen Server-Rechnern im Web installiert.

nach obennach unten

CGI-Informationen

F�r CGI gibt es keinen Standard, der dem Status von HTML, CSS oder XML vergleichbar w�re. Das W3-Konsortium, bei dem es zwar auch eine Arbeitsgruppe gibt, die sich um das HTTP-Protokoll k�mmert, klammert die CGI-Schnittstelle aus den HTTP-Dokumenten aus. Die CGI-Schnittstelle wurde mit einem der ersten und seinerzeit erfolgreichsten Web-Server-Produkte eingef�hrt, n�mlich mit dem NCSA-Web-Server (NCSA = National Center for Supercomputing, eine akademische Institution). Die Original-Spezifikation f�r die CGI-Schnittstelle von NCSA ist auf den Web-Seiten von NCSA noch verf�gbar:

englischsprachige Seite The CGI Specification

Allzuviel geh�rt eigentlich gar nicht dazu - es muss lediglich vom Web-Server unterst�tzt werden. Der NCSA-Server spielt mittlerweile keine Rolle mehr, die klare F�hrungsrolle unter den Web-Server-Produkten hat mittlerweile der frei verf�gbare Apache Web-Server �bernommen. Dieser unterst�tzt die CGI-Schnittstelle selbstverst�ndlich auch.

Beachten Sie:

Im Link-Verzeichnis des Online-Angebots von SELFHTML aktuell finden Sie weitere relevante und aktuelle Verweise, z.B. zu Original-Dokumentationen und weiteren Quellen:

Online-Seite SELFHTML-Linkverzeichnis: CGI/Perl

Innerhalb der vorliegenden Dokumentation wird CGI im Kapitel Kapitel CGI behandelt.

 nach oben
weiter Seite Andere Schnittstellen
zur�ck Seite Flash
 

© 2007 Seite Impressum