ein Kapitel zurück                                           ein Kapitel weiter

Jeder ist schon auf Webseiten gestoßen die mit CGI-Skripts (Common Gateway Interface) erstellt wurden. Beispielsweise Besucherzähler, Gästebücher, Diskusionsforen, Suchen, Formmail, Auktionen und viele mehr werden sehr oft mit CGI erstellt.
Natürlich nutzen CGI-Skripts nur etwas wenn sie in Wechselwirkung mit dem Anwender verwendet werden. Nehmen wir als einfaches Beispiel mal die Formmail wie sie auf meiner Webseite unter dem Link KONTAKT finden. Sie schreiben irgendetwas in das Textfeld und drücken anschließend den "Absenden" -Button.
In dem Moment gibt Ihr Browser (Netscape Navigator, Opera, IE etc.) diesen Text an den Server auf dem sich meine Homepage befindet. Auf dem Server wird dieser Text dann bearbeitet. In unserem Fall werden diese Daten weitergeleitet an meine E-Mailadresse oder im Fall einer Mailingliste wird diese Mail an all die Versendet die diese Liste abonniert haben. 
Um jetzt zu bestätigen das diese Mail korrekt beim Server angekommen ist, wird meist eine HTML-Datei erstellt die wiederum von meinem Server erstellt wird. Diese Antwort-HTML-Datei wird dann an Ihrem Server (wo immer sie sich auch eingewählt haben) gesendet. Ihr Server übermittelt diese HTML-Seite zur Anzeige dann an Ihren Browser.
Hört sich schlimmer an als es ist. Einfach Ausgedrückt heißt dies, dass wir mit CGI in der Lage sind HTML-Seiten DYNAMISCH zu erstellen. Damit ist gemeint das wir Seiten erstellen können die (noch) nicht auf meinem oder Ihrem Server sind.

CGI selbst ist nur der Standard der das Dateiformat festlegt das benötigt wird damit Browser, Server und Programme miteinander Daten austauschen können.

CGI Server Client

Auf diesem Bild können sie diesen Vorgang etwas genauer betrachten. Daran können sie auch erkennen das sich die CGI-Skripts auf dem Server befinden. Hier der Ablauf im Schnelldurchlauf..........

  1. Der Browser kontaktiert den Server um ein HTML-Dokument abzurufen (connect)
  2. Dabei sendet der Browser eine Anfrage an das Dokument. Meist mit der HTTP-GET Method (request)
  3. Ist das vom Browser angeforderte Dokument vorhanden antwortet der Server dem Browser und schickt im dieses Dokument (reply)
  4. Als letztes schließt der Server die Verbindung wieder.

An diesem Vorgang ist bemerkbar das die ganze Arbeit auf Servers Seite ist. Dem Browser ist es übrigens egal wie er sein Dokument erhält.
Also bedeutet das für sie als CGI-Programmierer das sie sich nur mit der Ein-und-Ausgabe des Servers befassen müssen.

Wollen wir kurz genauer darauf eingehen was auf dem Server mit dem CGI-Skript passiert. Das Protokoll das der Browser (Web-Client) und der Server verwenden ist das HTTP-Protokoll. Damit die Programme besser miteinander Kommunizieren, benötigen wir HTTP-Header-Informationen.
Wenn Beispielsweise der Server dem Client Daten schickt, sendet der Server auch einen Satz von Headern. Diese Header Beschreiben den Status der Daten und den Datentyp usw.
Der Browser verwendet den Content-Type-Header im Gegenzug zur Vorbereitung der Anzeige der Daten die dann vom Server kommen. Beispielsweise......

Content-Type: application/postscript
Der Browser weiß dadurch bescheid das ihm der Server eine Postscript-Datei zur Anzeige schickt.

Content-Type: text/html
Hier bekommt der Browser bescheid das ihm der Server eine HTML-Datei schicken wird.

Content-Type: video/mpeg
Hier handelt es sich um eine mgpeg-Video-Datei

Content-Type: image/jpeg
Ein Bild im jpeg-Format

Content-Type: text/plain
Plain Text. Ist die default-Einstellung

Content-Type: image/gif
Ein Bild im gif-Format

Es gibt noch eine Menge anderer Header auf die ich jetzt nicht eingehen will. Ich rate Ihnen dazu Dokumentationen im Internet über das HTTP-Protokoll zu suchen.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf