TinyWeb: Minimalistischer Webserver (RITLABS)

Aktuelle Version
v1.94.1, 2015-08-26
Download: TinyWeb-1.94.1.zip (216KB), Delphi Quellcode und Kompilat sind enthalten.
Freeware, Open Source
Zusammenfassung
TinyWeb 1.94.1 ist ein kleiner konfigurationsfreier Webserver für Windows, der auf TinyWeb Server by RITLABS S.R.L., Version 1.93, basiert. Weiters wurden die Änderungen von Peter Thoeny eingepflegt, um einen CGI-Interpreter und CGI-Dateierweiterungen anzugeben.
Ich habe den Webserver mit ein paar kleinen Eigenschaften erweitert: Kommandozeilenoptionen und einer primitiven Content Negotiation.
Betriebssystem
Windows.

Benützung

Die allgemeine Dokumentation findet sich auf der TinyWeb Homepage von RITLABS. Ich beschreibe hier nur die Änderungen, die ich an der Originalversion 1.93 vorgenommen habe.

Kommandozeilenoptionen
Ich habe folgende Parameter implementiert:
Benützung: tiny.exe -r Basisverzeichnis [OPTIONEN].
Die Paramete rsind:

  • -r Basisverzeichnis gibt das Arbeitsverzeichnis an (www root)
  • -a addresse IP-Adresse, an die sich TinyWeb binden soll
  • -p port Port, an den sich TinyWeb binden soll (Standard: 80)
  • --stop versucht eine laufende Instanz mit demselben Basisverzeichnis zu stoppen
  • --cgiprg prg gibt ein Programm an, das CGI-Dateien interpretiert
  • --cgiext ext Die Dateinamenerweiterung für CGI-Dateien
  • --logdir dir verwendet das angegebene Verzeichnis für die Logdateien
  • --help zeigt die Hilfe zu den Programmoptionen an
  • -c Content-Negotiation deaktivieren
  • -l sprache Standardsprache setzen (de, en, …)
Content negotiation
Ich habe eine sehr grundlegende Form der Content-Negotiation umgesetzt, die sich für das Ausliefern von Sprachalternativen zu HTML-Dateien eignet.
Das bedeutet, wenn Sie http://localhost/index.html anfordern und Sie zwei Dateien im Basisverzeichnis liegen haben, eine namens index.html.de  und eine index.html.en, dann liefert TinyWeb will die Sprachdatei aus, die in Ihrem Browser eingestellt ist — wenn sie denn existiert.
Ansonsetn wird die Sprachdatei mit dem Standardsprachsuffix ausgeliefert.
Wenn index.html selbst exisitiert, wird der Content-Negotiation-Prozess nicht vorgenommen.
Warum ich das geschrieben habe? Weil ich vor hatte, dSite mehrsprachig zu bauen und daher enien kleinen konfigurationsfreien Webserver ganz brauchbar fand.

Credits

Ich danke RITLABS S.R.L. für das zur Verfügung stellen solch eines kleinen handlichen Programmes.