Sie kennen es wahrscheinlich: Sie w�hlen die Seite einer Suchmaschine aus, warten bis die Web-Seite erscheint und geben eine Begriff in ein Textfeld ein. Nach dem Klick auf �Suchen� erscheint die Antwort. M�glich macht diese Interaktion erst das Common Gateway Interface.
Ohne diese Erweiterungsm�glichkeit k�nnte ein Web-Server lediglich vorgefertigte Web-Seiten verschicken. So war das noch bei HTML in der ersten Version. Ab Version 2.0 gab es die Eingabem�glichkeiten. Doch was soll der Web-Browser tun, wenn der Benutzer alle Werte eingegeben hat?
Die Werte werden an den Web-Server zur�ckgeschickt und er darf sie verarbeiten. Aber auch er kann damit nichts anfangen. Statt dessen hat er eine allgemeine Schnittstelle, um Programme zu starten und mit den verschickten Daten zu f�ttern. Diese Schnittstelle ist das Common Gateway Interface. Es ist bei allen Web-Servern zu finden.
|
<FORM ACTION="http://www.meinweb.de/cgi-bin/auswertung">
Das, was hinter �cgi-bin/� steht, ist der Programmname. Das Programm startet der Web-Server, nachdem Sie auf �Suchen� geklickt haben und die Daten komplett angekommen sind. Ihm �bergibt er die vom Web-Browser hinterhergeschickten Daten. Fragt sich nur, wie? Da gibt es zwei Methoden:
Anschlie�end kann das Programm sich auf dem Web-Server austoben und sein Ergebnis zur�ckliefern. Und das geht ganz einfach: Es mu� einfach nur HTML-Code ausgeben � und zwar so, als w�rde es die Ausgabe auf den Bildschirm schreiben wollen. In C w�rde ein
printf("<H1>Hallo Leute</H1> Wie geht's?\n");
ausreichen. Die Aktionen beschr�nken sich also auf das Auslesen einer ENV-Variable und dem Ausspucken von HTML. Nicht mehr und nicht weniger. Dazwischen ist alles erlaubt.
Im Zusammenhang von CGI ist oft von Skriptsprachen wie �Perl� die Rede, die man lernen mu�, wenn man mit CGI arbeitet. Um es deutlich zu sagen: Das ist Quatsch. �Perl� ist zwar eine sehr m�chtige Sprache, die perfekt zu CGI pa�t, aber CGI-Programme k�nnen Sie in jeder x-beliebigen Sprache schreiben.
Wer schon viel in C geschrieben hat und sich damit gut auskennt, kann C nehmen. Aber auch Amiga-E, ARexx, Shell-Skripte, Pascal oder auch Assembler eignen sich daf�r. Hauptsache, das Programm kann ENV-Variablen auslesen und Texte ausgeben. Und das kann wirklich jedes Programm irgendeiner Programmiersprache.
Um selbst einmal ein CGI-Skript oder Programm auszuprobieren, brauchen Sie zwingend einen Web-Server. Perfekt eignet sich daf�r der AWS, zu bekommen auf dem Web-Server, wo es auch IBrowse gibt (http://www.omnipresence.com).
Er l��t sich in wenigen Minuten installieren und l�uft meist v�llig problemlos (Er ist schon seit langem in der AMIGA-Magazin-Redaktion im Einsatz). Sie m�ssen nicht einmal mit dem Internet verbunden sein. Die Demo-Version von Miami oder AmiTCP reicht aus. Wenn Sie Miami starten, brechen Sie einfach den Versuch ab, mit dem Modem zu w�hlen. Damit haben Sie zwar keine Verbindung zum Internet, aber funktionierendes TCP/IP. Starten Sie danach AWS und schon kann es losgehen.
Allerdings gibt es bei einem CGI-Skript diverse Kleinigkeiten zu beachten, die hier nicht alle aufgef�hrt werden k�nnen. Eine gute Hilfe sind B�cher wie [1] oder [2]. Sie beschreiben sehr gut, wie man die vom Web-Browser verschickten Werte entgegennimmt und aufbereitet, welche ENV-Variablen es noch gibt und was f�r potentielle Sicherheitsprobleme es mit CGI-Skripten geben kann. Beim AWS sind schon einige Skripte (z.B. in ARexx) dabei, die man St�ck f�r St�ck erweitern und eigenen Bed�rfnissen anpassen kann.
� Copyright by MagnaMedia Verlag AG, Haar bei M�nchen
Ver�ffentlichung und Vervielf�ltigung nur mit schriftlicher Genehmigung des Verlags