neo42's space
Samstag, 13. Dezember 2003
SmallWebServer

Dieser winzigkleine Perl-Webserver ist für das nächste Buchprojekt entstanden und natürlich Open Source.

Herunterladen: sws2

(application/x-zip-compressed, 10 KB)

Nachtrag: Einige Bugs gefixt; neue Version 0.11 vom 08.01.2004

Natürlich muss Perl (ab ca. 5.6 - getestet habe ich nur unter 5.8) installiert sein, damit er funktioniert. In den Kommentaren steht noch einmal separat der offene Sourcecode.

Hier die Kurzbeschreibung aus dem noch nicht erschienenen Buch 'Apache 2' (Galileo Press, ca. Mai 2004):

  • Es handelt sich um einen Forking-Webserver: Erst, wenn eine Anfrage eintrifft, wird ein Child-Prozess erzeugt, der diese behandelt. Der Forking-Server ist die klassische und einfachste Form eines Servers, der mehrere Clients zur gleichen Zeit bedienen kann. Sie werden im nächsten Kapitel andere Modelle kennenlernen, die besonders zur Behandlung sehr vieler Client-Anfragen besser geeignet sind.
  • Der Server unterstützt nur eine einzige Methode, nämlich GET. Das bedeutet, dass er lediglich statische Dokumente ausliefert, deren Adresse Sie in das Adressfeld eines Browsers eingeben. Dies ist die Grundfunktion eines Webservers, sodass Sie dessen Arbeitsprinzip an diesem einfachen Beispiel nachvollziehen können. Es gibt natürlich auch keinerlei Unterstützung für serverseitige Programmierung wie CGI, PHP oder ähnliches.
  • Es werden nur wenige Dateitypen unterschieden, nämlich die wichtigsten, die im Zusammenhang mit Webseiten geliefert werden: HTML-Dokumente, Bilder der Typen GIF, JPEG und PNG sowie Flash-Filme. Für alle anderen Dateitypen gibt der Server den MIME-Type text/plain zurück.
Der Server wird üblicherweise über die Kommandozeile gestartet. Dabei können Sie drei Parameter angeben, die ansonsten Standardwerte erhalten. Für ei-nen »normalen« Start ohne Sonderkonfiguration müssen Sie unter UNIX Fol-gendes eingeben:
# ./sws.pl
Unter Windows ist dagegen folgende Eingabe erforderlich:
> perl sws.pl
Die drei möglichen Parameter sind folgende:
  • Der Serverport – Standard: 8000. Beachten Sie, dass Sie unter UNIX root-Rechte benötigen, um einen Port unter 1024 zu verwenden – einschließlich dem normalen HTTP-Port 80. Allerdings sollten Sie diesen Server aus Sicherheitsgründen niemals einsetzen, wenn Ihre Internet-Verbindung offen ist. Übrigens müssen Sie im Browser die Adresse mitsamt HTTP eingeben, wenn der Server nicht auf Port 80 läuft. Beispiel: http://127.0.0.1:8000 statt nur 127.0.0.1/8000.
  • Das Wurzelverzeichnis – Standard: htdocs unterhalb des Verzeichnisses, in dem sich der Server befindet. Dieser Pfad gibt das Verzeichnis an, das die freigegebenen Dateien enthält. Wenn Sie der Angabe keinen / voranstellen, gilt sie relativ zum aktuellen Verzeichnis. Beachten Sie, dass Sie auch unter Windows den / (und keinen \) als Trennzeichen einsetzen müssen.
  • Das Indexdokument – Standard index.html. Der Name eines Dokuments, das standardmäßig ausgeliefert wird, wenn in der Anfrage ein Pfad ohne expliziten Dateinamen angegeben wurde.
Der Server legt in seinem Verzeichnis eine einfache Logdatei namens access.log an, deren Format dem auch von Apache unterstützten CLF (Common Logfile Format) entspricht.

Wenn Sie den Server also auf Port 8888 im Verzeichnis /home/user/mydocs/html mit dem Indexdokument default.htm starten möchten, müssen Sie Folgendes eingeben:
# ./sws.pl 8888 /home/user/mydocs/html default.htm
Da die Reihenfolge der drei Parameter verbindlich ist, müssen Sie zur Änderung des zweiten oder dritten auch die vorigen explizit angeben – selbst dann, wenn Sie für diese den Standardwert beibehalten möchten.

Online for 8184 days
Last modified: 04.08.08, 01:08
Status
Youre not logged in ... Login
Menu
... Home
... Tags

Suche
Calendar
November 2024
So.Mo.Di.Mi.Do.Fr.Sa.
12
3456789
10111213141516
17181920212223
24252627282930
August
Recent updates
Schulnamen vs. Straßennamen Alle drei
gibt es tatsächlich in Köln! Geschwister-Scholl-Realschule -- Gravenreuth(!)straße Wilhelm-Busch-Realschule --...
by neo42 (04.08.08, 01:08)
Master of Puppets
by neo42 (08.07.08, 09:45)
Heimliche Offline-Durchsuchung mit dem
Volkstrojaner
by neo42 (01.02.08, 22:31)
Aufschlussreicher Blog-Beitrag über die Vorfälle,
die zu den aktuellen ausländer- und jugendfeindlichen Ausfällen der...
by neo42 (10.01.08, 09:57)
Ach?! Bundesminister Seehofer: "Wir haben
uns zu wenig um Kinderarmut gekümmert" (SPON-Titel von heute). Wenn...
by neo42 (18.12.07, 13:51)
Dr. Schäuble oder Wie ich
lernte, den Großen Bruder zu lieben 20. Juni 8 SA...
by neo42 (06.04.07, 19:16)
»Ahmadinedschad kündigt Lösung für alle
Probleme der Welt an« Vollspackenvollversammlung »"Die Islamische Republik Iran hat...
by neo42 (19.09.06, 16:24)
Mal ehrlich, Rolling Stone Magazine!
Ich habe dieses Machwerk erst heute durch Zufall gesehen....
by neo42 (03.09.06, 00:39)
Und was jetzt, Astrologen?
Bin schon auf eure neueste, superschlaue Wendung gespannt!
by neo42 (24.08.06, 17:56)
Die Wahrheit (Eigenbau)
by neo42 (11.08.06, 14:20)
Tierschutzverein fordert mehr Tierversuche oder:
Kinderschutzbund will Prügelstrafe in Schulen wieder einführen oder: How to...
by neo42 (18.05.06, 09:53)
Meine Freunde, die Roboter "ACHTUNG:
Der folgende Knowledge Base Artikel wurde durch ein maschinelles Übersetzungssystem...
by neo42 (14.05.06, 08:48)
Ist wieder Sommerloch? Ach nö,
die meisten deutschen Mafios^WPolitiker sind ja heutzutage immer so. Startseite...
by neo42 (06.05.06, 14:53)
Schleierhaft Wieso müssen serverseitige Webanwendungen
wie etwa die Fahrplanauskunft der Deutschen Bahn AG oder das...
by neo42 (05.05.06, 15:08)
$a predigen, $b trinken Irgendwie
menschlich: Die hauseigene Stiftung mahnt mit erhobenem Zeigefinger beständig zu...
by neo42 (02.05.06, 10:41)
Offener Brief [selbsterklärend -- ach
ja, der Herr Dr. Würmeling (CSU) ist Staatssekretär im Bundeswirtschaftsministerium]...
by neo42 (27.04.06, 09:50)
"Besonnener" Rechtsaußen Normalerweise würde ich
eine solche Reaktion auf ein hohe Wellen schlagendes Kapitalverbrechen bei...
by neo42 (19.04.06, 12:20)
Meta-Prokrastination Ich wusste bisher nicht,
dass es für chronisches Deadline-Überdehnen einen pathologischen Fachausdruck gibt. Aber...
by neo42 (14.04.06, 22:19)
The Final Frontier Der berühmte,
gesprochene Einleitungstext zu den ersten beiden "Star Trek"-Serien enthält bekanntlich...
by neo42 (21.03.06, 08:43)
Hartz V?
by neo42 (17.03.06, 10:56)
Meine Güte, das ist ja
der Knaller! [via Titanic -- die haben immer die...
by neo42 (07.03.06, 22:19)
Market Forces Gerade zuende gelesen:
http://www.amazon.de/exec/obidos/ASIN/0575075848 SEHR harter Wirtschaftsthriller aus der relativ nahen Zukunft, die...
by neo42 (07.03.06, 22:15)
Wollten Sie schon immer eine
SouthPark-Figur sein? Ich bin schon eine: Hier kann es...
by neo42 (06.02.06, 23:59)
"Däääh, der hat mein Förmßen
detlaut!" Wenn das die »Demokratie« ist, die sie der Welt...
by neo42 (01.02.06, 00:25)
Such nicht nach Witzen an
der usw. Weblogs seien Klowände, behauptet der Herr von Matt...
by neo42 (25.01.06, 11:03)

RSS feed

Made with Antville
Helma Object Publisher