HTTPServer
Zurück Nach oben Vorwärts

Kurzbeschreibung Parameter Funktionsweise Ein/Ausgänge Limitierungen Querverweise Beispiele

Kurzbeschreibung
Das Modul HTTPServer implementiert das HTTP-Protokoll und kann in Verbindung mit dem Modul TCPServer als Web-Server verwendet werden.
Parameter
Parameter: Parameterquelle intern, extern oder Datenbank.
Root
Pfad: Verzeichnis das bereit gestellt werden soll.
Datei: Datei die standardmäßig bereit gestellt werden soll.
Funktionsweise
Um einen Web-Server zu erhalten, werden Dateien (HTML-Seiten, Images, ...) benötigt, die an Clients (z.B. Internet Explorer, Netscape) geschickt werden können. Als Pfad muß das Startverzeichnis für diese Dateien angegeben werden. Außerdem muß eine Startdatei angegeben werden, die als Hauptseite an den Client geschickt wird (z.B. index.html).
Das Modul kann gleichzeitig beliebig viele Anfragen bearbeiten, weshalb jede Anfrage eine eindeutige Identifikation benötigt. Eine Anfrage wird von den Eingängen Command-ID und Command-Text eingelesen. Die Anfrage wird dann bearbeitet und an den Ausgängen Response-ID (identisch zu Command-ID) und Response-Text wird das Ergebnis bereitgestellt. Das ist im Normalfall eine Datei, im Fehlerfall ein Fehlertext (Datei nicht gefunden, Kommando nicht erkannt, ...).
Um das HTTP-Kommando POST (wird für CGI-Scripts oder ähnliches verwendet) bearbeiten zu können, gibt es die Ausgänge POST-ID und POST-Text. An diesen Ausgängen wird das POST-Kommando als String ausgegeben und kann von Folgemodulen weiterverarbeitet werden (z.B. Interpret). Es können damit auch Emails verschickt werden (z.B. mit dem Modul EMail). Auf eine POST-Anforderung muß eine Antwort an den Client geschickt werden. Diese wird an den Eingängen Response-ID und Response-Text erwartet. Hier kann ein HTML-formatierter Text gesendet werden, z.B. "Ihre Anfrage wurde erfolgreich bearbeitet".
Ein-/Ausgänge
Eingänge  
EXT, DB UBYTE[]{root_path}, UBYTE[]{root_file} Parametrierung des Moduls über externe Quellen wie ParamConv oder DBLoad
Command-ID TYPEINFO{TypeInfo}
SWORD[1]{SCALAR}
Anfrage-ID
Command-Text TYPEINFO{TypeInfo}
UBYTE[]{Text}
Anfrage Text
Response-ID TYPEINFO{TypeInfo}
SWORD[1]{SCALAR}
Antwort-ID auf POST Kommando
Response-Text TYPEINFO{TypeInfo}
UBYTE[]{Text}
Antwort Text auf POST Kommando
Ausgänge
Response-ID TYPEINFO{TypeInfo}
SWORD[1]{SCALAR}
Antwort-ID
Response-Text TYPEINFO{TypeInfo}
UBYTE[]{Text}
Antwort Text
POST-ID TYPEINFO{TypeInfo}
SWORD[1]{SCALAR}
POST Kommando-ID
POST-Text TYPEINFO{TypeInfo}
UBYTE[]{Text}
POST Kommando Text
Limitierungen
-
Querverweise
TCPServer
Beispiele
Diese Beispiel zeigt einen einfachen Web-Server, der auch POST-Anfragen bearbeiten kann. Das Modul Interpret interpretiert die Anfrage, schickt einen Mail-Text an das Modul EMail und schickt eine Antwort zurück an den Server, der diese weiter an den Client schickt. Die Module MultiCom werden wegen der Übersichtlichkeit verwendet (weniger Rückkopplungen) und auch, damit POST-Anfragen erst beantwortet werden, bevor weitere Anfragen angenommen werden. Der TCP-Server ist auf Port 80 (HTTP) eingestellt, der HTTP-Server auf ein Verzeichnis, das eine Homepage beinhaltet.
wpe1.jpg (14195 Byte)