|
![ein Kapitel weiter](../weiter.gif)
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.
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..........
- Der Browser kontaktiert den Server um ein HTML-Dokument abzurufen (connect)
- Dabei sendet der Browser eine Anfrage an das Dokument. Meist mit der HTTP-GET Method
(request)
- Ist das vom Browser angeforderte Dokument vorhanden antwortet der Server dem
Browser und schickt im dieses Dokument (reply)
- 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 weiter](../weiter.gif)
© 2001,2002 Jürgen Wolf
|