Sönke Tesch: Datenkompressionssscript will nicht so ganz funzen

Beitrag lesen

Ich habe bei einem netten Menschen ein Datenkompressionsscript auf PHP-Basis bekommen.

http://forum.de.selfhtml.org/archiv/2002/9/25053/#m137971 (und Vorfahren) dürfte Dich und den netten Menschen, der sich so viel unnütze Arbeit macht, sicher brennend interessieren.

Aber entweder bekomm ich eine 10-fache Ladezeit im Gegensatz zu vorher und eine leere Seite oder folgenden Fehler: Warning: Undefined index: HTTP_IF_NONE_MATCH in c:\apache\apache\htdocs\hpneu\compress.php on line 24

$if_none_match   = $HTTP_SERVER_VARS['HTTP_IF_NONE_MATCH'];

Lies einfach die Warnung: Index HTTP_IF_NONE_MATCH existiert nicht im Feld $HTTP_SERVER_VARS. Die Dinger, die in diesem Feld mit HTTP_ anfangen, stellen die Kopfzeilen dar, die der Browser an den Server gesendet hat; ist HTTP_IF_NONE_MATCH nicht vorhanden, hat der Browser es nicht gesendet.
Die Warnungen beim Zugriff auf nicht existierende PHP-Variablen kannst Du abstellen (siehe PHP-Anleitung, Kapitel Konfiguration, oder gleich die wesentlich besser kommentierte php.ini).
Und die Funktion von If-None-Match findest Du nebenbei bemerkt in der HTTP-Spezifikation unter http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26.

Davon abgesehen hatte ich mal füchterliche Schwierigkeiten, die Binärdaten, die gzencode() ausgibt, in PHP-Variablen vom Typ String unterzubringen. In der Ausgabe war jedenfalls grundsätzlich dort, wo zwei 0xff hinterheinander kommen sollten, nur eines vorhanden. Dementsprechend waren die erzeugten Daten manchmal nicht zu gebrauchen.

Auch halte ich den Ansatz, diese im Grunde sehr nützliche HTTP-Kompression mit einem PHP-Skript zu implementieren, für wenig sinnvoll.

Kurzum: Benutze lieber die eingebaute Kompression von PHP (mit Vorsicht zu genießen, siehe andere Antwort oben) oder, noch besser, diejenige im Server (mod_gzip, sofern vorhanden).

Gruß,
  soenk.e