Scripts sind Programme, die auf einem WWW-Server laufen, um die Formular-Eingabedaten zu verarbeiten. In Abhängigkeit der Serverplatform, können Scripte aus den unterschiedlichsten Programmiersprachen bestehen, sie muß es nur erlauben auf dem Serversystem ausgeführt zu werden. Z.B.: C/C++, Fortran, PERL, TCL, jede Unix Shell, Visual Basic, AppleScript,... . Man kann Scripts nutzen um E-Mails zu versenden, Eingabedaten zu verarbeiten, Datenbanken wie z.B.Oracle oder Sybase abzufragen, große Mengen von vorhandenen Daten zu veröffentlichen oder um ein anderes Programm aufzurufen. Scripts und Forms zusammen lassen Anwendungsmöglichkeiten von Serverapplikationen nahezu unendlich erscheinen.
Programmiersprachen wie C oder Fortran müssen erst compiliert werden bevor sie in dem Verzeichnis, das durch die EXEC-CGI-Directive als Ausführungs-Verzeichnis definiert wurde, gestartet werden können. Skriptsprachen wie PERL,TCL oder eine Unix Shell müssen nur im Ausführungsverzeichnis liegen und sind ohne weiteres lauffähig.
Da viele Server-Programme gleiche bzw. ähnliche Aufgaben erfüllen sollen, braucht man oft nur schon vorhandene Skripte zu kopieren oder abzuändern. Bisher gibt es für Windows nur wenige Web-Server-Anwendungen und eine Übernahme oder Anpassung von Skripten von UNIX-basierten Systemen ist sehr schwierig, weil Unterschiede im Filesystem und im Graphical User Interface vorhanden sind. Zudem ist eine Portierung von Unix X Windows zu MS Windows nicht möglich (Wohl aber bei Windows NT-Platformen).
get : die Daten des ausgefüllten Formulars werden an die URL-Angabe angehängt und dann vom Server in der Standard-Umgebungsvariablen QUERY_STRING gespeichert. Das CGI-Programm muß den Inhalt dieser Umgebungsvariablen auslesen und verarbeiten.
post : die Daten des augefüllten Formulars auf dem Server-Rechner von "stdin" zur Verfügung gestellt, und das CGI-Programm muß sie behandeln wie eine Benutzereingabe, die auf der Kommandozeile gemacht wurde. Da in diesem Fall kein EndOfFile-Signal (EOF) gesendet wird, muß das CGI- Programm die Standard-Umgebungsvariable CONTENT_LENGTH auslesen, um die Länge der übermittelten Daten und damit deren Ende zu ermitteln.
(Siehe hierzu auch das Beispiel zum Auslesen der Environment-Variablen)
Interessantes:
Passwortfelder
Auch wenn die Eingaben der INPUT-Felder vom Typen PASSWORD nur als STERNE dargestellt werden, so sind sie jedoch nicht verschlüsselt und werden als normale ASCII-Zeichen verschickt.
Diese Skript-Beispiele wurden durch das ansprechen des Servers "http://hoohoo.ncsa.uiuc.edu" realisiert, der zu Probezwecken die an ihn gesandten Daten wieder zurückgibt. Die genauen Adressen lauten wie folgt:
CGI-Programme werden vom Client aus gestartet und laufen auf dem Server als Skript oder compilierte Programme ab. Sie sollen aktuelle Daten zur maschinellen Erstellung von dynamischen HTML-Dokumenten nutzen. Dazu müssen sie auf Variablen zugreifen, diese in die Verarbeitung mit einbeziehen und damit Ergebnisse liefern. Hier zwei Skript-Programme, die dies zeigen sollen: