Versions-Historie und Änderungsprotokoll von mod_gzip
Author: Michael Schröpl
Description: Eine Übersicht aller Änderungen der jeweiligen mod_gzip-Versionen
Keywords: Apache, HTTP, Kodierung, gzip, Komprimierung, Versionen

# Versions-Historie und Änderungsprotokoll von `mod_gzip`

## Neu in Version 1.3.26.1a

- bug fix: In vorherigen Versionen hatte `mod_gzip` ein Problem bei der Verarbeitung von POST-Requests mit einem Body länger als 4 bzw. 8 kByte.
  Nun wird die Verarbeitung solcher Anforderungen durch `mod_gzip` abgelehnt und ihr Inhalt folglich unkomprimiert ausgeliefert.
- bug fix: In vorherigen Versionen hatte `mod_gzip` ein Problem bei der Verarbeitung von HTTP-Header-Zeilen mit einer Länge von mehr als 4 kByte (z. B. bei der Verwendung sehr langer Inhalte von HTTP-Cookies). Dieser Fehler wurde behoben.
- Reduzierung der Menge der seit Version 1.3.19.2a erzeugten `Vary:`-HTTP-Header, und dadurch wieder erhöhte Zwischenspeicherbarkeit unkomprimierter Antwortpakete durch Proxy-Caches gegenüber der vorherigen Version.
- Zusätzliches Senden eines HTTP-Headers `Vary: *`, falls eine `mod_gzip_min_http`-Direktive verwendet wurde, um eine andere Art der Verhandlung als über HTTP-Header-Namen anzuzeigen.
- Neue Direktive: `mod_gzip_update_static`.
- Die längst nicht mehr unterstützten Direktiven
  - `mod_gzip_add_vinfo`,
  - `mod_gzip_do_static_files`,
  - `mod_gzip_do_cgi`,
  - `mod_gzip_post_on` und
  - `mod_gzip_verbose_debug`
  aus früheren `mod_gzip`-Versionen wurden nun vollständig aus dem Programmquelltext entfernt.
  Dies kann dazu führen, daß sich Konfigurationen, welche diese wirkungslosen Direktiven immer noch enthalten, mit der neuen Version nun nicht mehr laden lassen; diese alten Direktiven können ersatzlos entfernt werden, da sie bereits in Version 1.3.19.1a keine Wirkung mehr hatten..
- Patch für die Netware-Plattform: Anpassung einiger Meldungstexte, die nur für Win32 formuliert waren (beigesteuert von Günther Knauf).

## Neu in Version 1.3.19.2a

- Senden des HTTP-Headers `Vary:` zur Markierung der Ausgabe als Verhandlungsergebnis für Proxy-Server.
- Zerlegung des Quelltextes in drei Dateien:
  - `mod_gzip.c`: Modul-Funktionen und Einbindung in den Apache-Server
  - `mod_gzip_compress.c`: Die gzip-Komprimierungs-Funktion von Kevin Kiley
  - `mod_gzip_debug.c`: Reine Diagnose-Ausgabefunktionen (die nur benötigt werden, falls die Variable `MOD_GZIP_DEBUG1` im Präprozessor definiert ist).
- bug fix: Falls das Ergebnis einer Komprimierung größer als die Original-Datei wurde, vergaß `mod_gzip`, die dabei erzeugte Datei aus seinem Arbeitsverzeichnis zu löschen. Mit der Zeit sammelten sich dort zahlreiche Dateien an (welche nebenbei bemerkt ein Zeichen dafür waren, daß die `mod_gzip`-Regelkonfiguration nicht perfekt gewählt war, denn alle diese Komprimierungsversuche hätte man sich sparen können).
- Neue Direktive: `mod_gzip_handle_methods`.
- Neue Direktive: `mod_gzip_static_suffix`
- Bei der Suche nach einer statisch vorkomprimierten Version einer Datei erkennt `mod_gzip` nun automatisch, ob diese Version älter ist als die unkomprimierte Original-Datei.
- Bei der Suche nach einer statisch vorkomprimierten Version erkennt `mod_gzip` nun den Zugriff auf ein Verzeichnis - die vorherige Version hatte den Inhalt einer Datei mit dem Namen des Verzeichnisses plus der Endung `.gz` ausgegeben, was zumindest eine fragwürdige Idee war.
  Jetzt sucht `mod_gzip` bei einem Zugriff auf ein Verzeichnis nicht mehr nach einer statisch komprimierten Datei, sondern versucht immer, das Ergebnis dynamisch zu komprimieren (falls es darf).

(Michael Schröpl, 2002-09-28)