CGI Tutorial - Teil 1 / 10
Wolfgang Wiese (www.xwolf.de, xwolf@xwolf.de), Juli 1998, Letzte Änderung: Mai 2003[Das Common Gateway Interface]
[Übergabe von Benutzereingaben]
[Decodierung der übergebenen Daten]
[Schritt 1: Erstellung einer Eingabeform]
[Schritt 2: Die Programmierung]
[Schritt 3: Debugging eines CGI-Programmes]
[Standardfehler]
[Die Optimierung von CGI-Programmen durch Libraries und Module]
[Tipps, Tricks und Beachtenswertes]
[Links zu wichtigen FAQs und CGI-Seiten]
Das Common Gateway Interface
Def.: Das Common Gateway Interface (CGI) ist ein Interface um externe Programme oder Gateways unter Steuerung eines Informationsservers ablaufen zu lassen.
Im Klartext: Gatewayprogramme (CGI-Programme, CGI-Skripts) sind ausführbare Programme, die selbstständig ablauffähig sind.
In den meisten der Fällen werden sie erstellt, um auf Anfragen von Benutzern zu reagieren.
Diese Anfragen erhalten die CGI-Programme in der Regel aus fest definierten Eingabemasken, den Forms.
Was eine Form ist, und wie diese aufgebaut ist, zeigen wir später.
Bevor wir zu einem konkreten Programm-Beispiel kommen, welches wir Schritt-für-Schritt entwickeln, möchte ich
erst noch einige Worte zu den Hintergründen sagen.
Zur Erstellung eines CGI-Programms gibt es keine spezielle Programmiersprache. Im einfachsten Fall kann das Programm unter UNIX ein Shell-Script bzw. unter DOS eine .bat-Datei sein. Es können aber auch beliebige höhere Programmiersprachen wie C, Pascal oder Fortran benutzt werden. Sehr weit verbreitet und empfehlenswert ist die Interpreter-Sprache Perl.
Beim Aufruf des CGI-Programmes aus einem Formular übermittelt der Web-Browser des Benutzers die Eingabedaten
an den Web-Server. Dieser wiederum startet das CGI-Programm und übergibt die Eingabedaten und weitere Parameter mit Hilfe
der Environment-Variablen.
Im Normalfall wertet das CGI-Programm nun diese Variablen aus und liefert eine HTML-Seite an den Web-Server zurück,
welcher dieser weiter zum Browser leitet.
Das folgende Bild verdeutlicht dieses:
Dieses Vorgehen ist allerdings nur der Regelfall. Es ist Sache des Programmierers, inwieweit er sich an dieses
Ideal hält. So ist es zum Beispiel nicht zwingend notwendig, daß das CGI-Programm auch wirklich
eine HTML-Seite zurückliefert. Erhät der Web-Server jedoch keine Antwort, wird dem Anwender die
Meldung "Document contains no data." gesandt.
Eine weitere Möglichkeit wäre es, den Web_Server anzuweisen, eine andere, schon bestehende Seite zu laden.
Info
$Id: index.shtml,v 1.2 2003/05/20 11:18:28 xwolf Exp $
© 1996 - 2003 by xwolf -
xwolf ist eingetragene Marke beim Deutschen Patent- und Markenamt (Nr. 301 04 380)


