Hallo Leute,
jetzt mache ich auch mal ein Faß, äh - einen Thread auf.
In den letzten Tagen sind Christian Kruse und ich ein
wenig 'abgetaucht'. Das hatte seinen Grund, und der
hat inzwischen die Versionsnummer 1.05 ... und heißt
gzip_cnc.
Bekanntlich wird ein Großteil der Seiten dieses Servers
hier durch den Einsatz des Apache-3rd-party-Moduls
"mod_zip" in komprimierter Form ausgeliefert, was bei
SelfHTML 8.0 ungefähr 60% und bei der Forumshauptdatei
etwa 90% der übertragenen Datenmenge einspart.
Nur setzt die Verwendbarkeit von mod_gzip leider
voraus, daß es vom Provider installiert und in den
Apache eingebunden wird (und korrekt konfiguriert,
was auch nicht gerade einfach ist).
Und so arg viele Provider mit mod_gzip habe ich bisher
in Deutschland noch nicht gefunden.
Außerdem hat der Einsatz von mod_gzip gezeigt, daß die
CPU-Belastung beim ständigen Komprimieren der immer
wieder gleichen Seiten nicht völlig zu vernachlässigen
ist.
mod_gzip kann nicht anders (noch! ;-), weil es stati-
sche und dynamische Inhalte gleichermaßen komprimiert
ausliefern kann und nicht versucht, zwischen beiden
irgendwie zu unterscheiden.
Dafür kann mod_gzip bereits statisch vorkomprimierte
Seiten optional ausliefern (per Content Negotiation) -
das ist der Mechanismus, mit dem bisher die Online-
Version von SelfHTML 8.0 angeboten wird (das geht irre
schnell und belastet die CPU praktisch nicht.
Das bedeutet natürlich, daß man die komprimierten Ver-
sionen jedesmal neu erzeugen muß, wenn sich das Ori-
ginal geändert hat ... vergißt man das, dann bekommt
die überwiegende Mehrzahl der Besucher veraltete In-
halte angeboten.
Ausgehend von dieser Situation haben Christian und ich
ein System diskutiert, entworfen, implementiert, ge-
testet, von Perl nach C portiert und ausführlich doku-
mentiert, welches die folgenden Eigenschaften aufweisen
soll:
1. Es soll ohne Änderung des Webserver-Codes, also ohne
Eingriff des Providers bzw. Webmasters, verwendbar
sein.
2. Es soll jeden Datei-Inhalt nur ein einziges Mal kom-
primieren und selbständig prüfen, ob diese kompri-
mierte Instanz veraltet ist, d. h. neu erzeugt wer-
den muß.
Dabei wurde bewußt darauf verzichtet, dynamische Seiten
aller Art komprimieren zu können - wenn man _das_ will,
dann _muß_ man in den Webserver hinein und dort etwas
einbauen. gzip_cnc ist kein Ersatz für mod_gzip.
Die Voraussetzungen für den Einsatz von gzip_cnc sollen
sich im üblichen Rahmen gängiger Webspace-Angebote be-
wegen: CGI, Perl und .htaccess - das muß reichen.
Die Zielgruppe ist also "der typische Seitenkleber". ;-)
Genug des Palavers - das hier isses:
http://www.schroepl.net/projekte/gzip_cnc/
Jetzt könnte ich eigentlich noch "viel Spaß beim Lesen
und Installieren" scheiben und fertig ...
Aber ich möchte gerne die Gelegenheit nutzen, Verbes-
serungsvorschläge 'einzusammeln'.
Im Großen und Ganzen stehen die Seiten - aber nach
fünfmal Korrekturlesen bin ich im Stadium massiver
Betriebsblindheit.
Deshalb: Jede Anmerkung, die zur Verbesserung von
gzip_cnc und seiner Dokumentation führen können, wird
dankend angenommen - wahlweise hier im Forum oder auch
per Mail.
Rechtschreibfehler, broken links, Verständlichkeit der
Formulierungen, Probleme beim Ausprobieren ... immer
her damit.
Also dann: Auf geht's, Leute!
Viel Spaß beim ...
Michael
P.S.: Falls mir beispielsweise jemand erklären könnte,
was ich in meinem CSS verkehrt mache ... die
Navigation sollte eigentlich in allen Browsern
so aussehen wie im M$IE, also mit gleich breiten
hover-Balken ...