Mit der CGI-Schnittstelle ist es möglich iG/Script Programme im
         Webserver auszuführen um z.B. dynamische Webseiten zu generieren
         (z.B. als Resultat einer DB-Anfrage). Damit ein CGI-Script vom
         Webserver ausgeführt werden kann, muss es die Dateiendung
         .igs aufweisen (z.B.
         test.igs). CGI-Skripts werden normalerweise im
         Verzeichnis \user\www\igs abgelegt. Es kann
         jedoch auch jedes andere vom Webserver publizierte Verzeichnis für
         die Ablage von CGI-Skripts verwendet werden.
Damit CGI-Skripts im GeoShop ausgeführt werden können, muss
         zuerst im GeoShop Server der Dienst igs einem oder
         mehreren ICS-Servern zugewiesen und gestartet werden (s.a. GeoShop
         Administrator bzw. Konfigurationsdatei
         \user\services\services.srv).
Wenn ein Benutzer auf die URL eines CGI-Skripts zugreift, wird
         der Skript vom GeoShop Webserver mit Hilfe von
         ics.exe ausgeführt. Der Standardoutput des
         CGI-Skripts wird dann als Resultat vom GeoShop Webserver zurück
         gegeben.
Für temporäre Dateien erzeugt der Webserver vor dem Aufruf
            des Skripts automatisch ein temporäres Verzeichnis. Der Pfad zu
            diesem Verzeichnis wird dem Skript als
            OPT.temp_dir übergeben. Es ist wichtig, dass
            ein CGI-Skript temporäre Zwischenresultate in das Verzeichnis
            OPT.temp_dir schreibt. Sonst kann es zu
            Konflikten mit anderen gleichzeitig laufenden CGI-Sripts kommen.
            Nach der Ausführung des CGI-Scripts wird das Verzeichnis
            OPT.temp_dir automatisch wieder
            gelöscht.
Neben OPT.temp_dir stellt der GeoShop dem
            CGI-Script folgende zusätzliche Laufzeitoptionen zur
            Verfügung:
OPT.URLRelative URL des aufgerufenen
                     .igs Skript.
Client HTTP-ParameterAlle HTTP-Parameter welcher der aufrufende
                     HTTP-Client schickt in der Form
                     OPT.<HTTP-Param> (z.B.
                     OPT.Host,
                     OPT.User-Agent,
                     OPT.Accept-Encoding, etc.).
ICS OptionenAlle Optionen, welche ein ICS-Skript zur Laufzeit
                     erhält (z.B. OPT.user_dir,
                     OPT.system_dir,
                     OPT.data_dir, etc.).
| ![[Anmerkung]](images/note.png) | |
| Auf die Optionen des GeoShop Server in
                | 
Für das CGI-Debugging steht folgende Option im Abschnitt
            AppServer von
            appserver.opt zur Verfügung:
IGS_DEBUGDebugging von CGI-Skripts ein-
                     (ON) oder ausschalten
                     (OFF) (Default =
                     OFF). Wenn die Option auf
                     ON gesetzt wird, wird der Debugging
                     Output in die Datei
                     \data\temp\igs.log geschrieben (s.a.
                     CGI-Schnittstelle).
Der Standard MIME-Type eines CGI-Skripts ist
            text/xml, da die meisten CGI-Skripts im GeoShop
            für die Generierung von XML-Dateien verwendet werden (z.B.
            SOAP-Schnittstelle oder getCapabilities.igs
            des WMS-Server). Falls ein CGI-Skript einen anderen MIME-Type
            zurück geben soll (z.B. text/html), muss man
            als letzten Befehl im Skript folgende Zeile einfügen:
OPT.mime_type '<MIME-Type>' SERIAL.SAVE_OBJECT
Zum Abschluss ist hier noch ein vollständiges Beispiel für einen CGI-Skript angegeben:
|LICENSE \license\geoshop.lic DISPLAY '<html>' DISPLAY '<head>' DISPLAY '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">' DISPLAY '</head>' DISPLAY '<body>' DISPLAY '<title>hello, world!</title>' DISPLAY '</body>' DISPLAY '</html>' OPT.mime_type 'text/html' SERIAL.SAVE_OBJECT
Falls der obige Skript unter
         \user\www\igs\hello.igs abgespeichert wird,
         erzeugt der Aufruf der URL
         http://localhost:3501/igs/hello.igs im
         Webbrowser den folgenden Output:
hello, world!