Theorie
 
 
 
 
 
Computertechnik
 
 
 
 
 
.. Stichwort: das CGI
 
 
 
 
 

 
 
 
 

 

CGI bedeutet Common Gateway Interface und bezeichnet eine Software-Schnittstelle, über die ein HTTP-Serverprogramm ein benutzerdefiniertes Unterprogramm aufrufen kann.

Das Besondere an diesem Unterprogramm ist, dass es nicht von dem Programmierer des Servers geschrieben wurde, sondern von einem Anwender des Servers. Dieser muss sein Unterprogramm, (seine CGI-Funktion) dem HTTP-Server mitteilen, sie dort installieren.
Beim IPC@CHIP geschieht dies über den Softwareinterrupt: ABh Funktion: 01h

 

 

 

 

 

Die CGI-Funktion
Die CGI-Funktion ist das externe Unterprogramm, das der Anwendungsprogrammierer dem Netzwerk-Server hinzufügt hat. Er kann durch diese Funktion die Arbeitsweise des HTTP-Servers erheblich beeinflussen und erweitern.
Ein Beispiel ist die Abfrage von Benutzernamen und Passwort. Stimmen die von außen übermittelten Daten, mit denen, die in der CGI-Funktion hinterlegten wurden, nicht überein, kann die CGI-Funktion bestimmen, wie das Serverprogramm nun reagieren soll. Normalerweise wird sie anweisen, dass eine Aufforderung zur Neueingabe zurückgesendet wird.

Ein zweites Beispiel ist die Möglichkeit, unter Programmkontrolle eine HTML-Seite herzustellen. In diese kann die CGI-Funktion aktuelle Daten einfügen, wie die Uhrzeit, einen Zählerwert, der die Häufigkeit des Aufrufs einer Seite beinhaltet, die Temperatur am Ort des Servers usw. Solche HTML-Seiten nennt man dynamische Seiten, da sie im Moment der Anforderung auch erstellt werden.

Sie stehen im Gegensatz zu den bereits vorgefertigten HTML-Seiten, die im Rootverzeichnis des Netzwerk-Servers abgelegt sind. Diese spricht man als statische Seiten an, da sie über die Zeit unverändert bleiben.

Die CGI-Funktion und der Webserver müssen Daten miteinander austauschen können. Das sind einmal ihre Betriebsdaten, zum anderen die Daten der dynamischen Seite, welche die CGI-Funktion erstellt hat. Bei IPC@CHIP geschieht dies über eine vorgegebene C- Strukturvariable in der eine Anzahl von Untervariablen enthalten sind.

 

 

 

 

 

.. Austausch der Daten der dynamisch erstellten Seite
Die CGI-Funktion stellt Daten zusammen die dann zum nachfragenden Client zurückgesendet werden sollen. Dies geschieht üblicherweise so, dass sich die CGI-Funktion einen Speicherbereich im Arbeitsspeicher reserviert und dort, die durch sie zusammengestellten und berechneten Daten, hineinschreibt. Da sie diese Daten nicht selber senden kann, sondern nur der WebServer, muss sie diesem mitteilen, wo sich der Speicherbereich (Buffer) befindet, in dem diese Daten liegen. Beide Programmteile, WebServer und CGI-Funktion, müssen also Betriebsdaten miteinander austauschen, die nicht zum Client gesendet werden.

 

 

 

 

 

.. Austausch von Betriebsdaten
Neben der Lage des Rückgabebuffers mit der dynamischen Seite tauschen Webserver und CGI-Funktion noch weiter Daten aus. So kann der Webserver alle ihm vom Client bekannten Daten, wie beispielsweise dessen IP-Adresse, an die CGI-Funktion weitergeben. Ein weiteres Beispiel für Datenübergaben vom WebServer zur CGI-Funktion sind die Angaben über Benutzername und Passwort, die der Client gesendet hat, oder die Wert/Zahl kodierten Parameter der URL.

Da diese Daten, nur zwischen dem Webserver und der CGI-Funktion hin- und hergereicht werden und nicht zum Client übermittelt werden sollen, benötigen der Webserver und seine CGI-Funktion hierfür eigene Variable. Beim IPC@CHIP sind diese in einer C-Struktur untergebracht.

 

 

 

 

 

Sprachen für die CGI-Funktion
Die Sprachen mit denen CGI-Programme geschrieben werden können sind vielfältig. Bei Grossrechnern dominieren die Sprachen PHP, Pearl oder Java. Beim IPC@CHIP können die CGI-Programme in C, Pascal oder der Assemblersprache abgefasst werden.

PEARL: bedeutet Practical Extraktion And Report Language

 

 

 

 

www..de