Christian Kruse: [ANNOUNCEMENT] mod_gzip 1.3.19.2a

Beitrag lesen

Hallo zusammen,

tja, was lange waehrt wird endlich gut: es gibt ein neues mod_gzip-Release.
Kevin Kiley (der Autor) arbeitet leider an mod_gzip nicht mehr weiter, also
habe ich ein Sourceforge-Projekt eroeffnet:

http://sf.net/projects/mod-gzip

Die neue Version hat einige Bugfixes sowie ein paar neue Features implementiert.
Da ich zu Faul bin, das Changelog zu uebersetzen, hier einfach mal auf Englisch:

* mod_gzip_static_suffix  suffix

This new directive defines the suffix of the static compressed files.
  On most system this will be .gz, but on some systems it is for example
  .z or something like that. Default is '.gz'.

Warning: You have to add an 'AddEncoding .suffix gzip' in your Apache
  config! If you don't do this, Apache may send a wrong
  HTTP header 'Content-Encoding'.

* mod_gzip_handle_methods GET POST

Parameters are GET or POST or a list of both values.
  Default is the list of both values.

* mod_gzip_send_vary Yes/No

This will be useful for some caching http proxies like squid.
  Prior to the current version of mod_gzip, they had problems
  to properly handle mod_gzip output.
  Example: A client that is able to handle compressed content
  receives a compressed response and the proxy caches it.
  The next client is not able to handle compressed content but as
  the proxy was not aware of the response being a negotiation
  result, it could do nothing but serve the content to this
  client as well.
  "Vary:" should tell the proxy what to do in those situations,
  or at least warn it to not cache the content if it is not
  able to understand the negotiation procedure.
  The value of the 'Vary:' header will be a comma separated
  list of
    a) 'Accept-Encoding' and
    b) each value that has been used as second operand of a
       'mod_gzip_item_include reqheader' rsp.
       'mod_gzip_item_exclude reqheader' directive.
  This may cause a proxy to not cache the content in some
  more cases than necessary, but at least make sure it
  won't inadvertantly serve compressed content.
  The calculation logic for 'Vary:' headers may have to be
  improved in subsequent versions, as to hopefully reduce
  the header names to the absolute minimum necessary.

Warning: Don't set this value to "no" unless you are perfectly
  sure that all clients in your environment are able to handle
  compressed content properly!

* Workfile bug fixed

In prior versions of mod_gzip there was a problem with the
  workfiles. When the compressed version of a file was bigger
  than the file itself, the workfile has not been deleted.
  Now it will be.

* mod_gzip recognizes outdated .gz files

mod_gzip now performs another stat() call and checks whether
  the static compressed version of the file is older than the
  uncompressed original file itself. If so, it sends the
  uncompressed content(!) and creates a
  SEND_AS_IS:PRECOMPRESSED_VARIANT_OUTDATED status value.

* mod_gzip is now splitted into 3 files

Mod_gzip has been split into three files because it is easier to
  maintain. And because of this splitting I added an Makefile.tmpl
  (a Makefile template) for Apache build process so that you
  can compile mod_gzip statically into Apache.
  There is also a Makefile which uses the apxs script to generate
  a shared library.

Now there are two ways to build mod_gzip: statically compiled
  into Apache and a DSO-File for mod_so. If you want to
  compile it statically into Apache, just copy the source
  to Apache src/modules/extra directory and there into a
  subdirectory named 'gzip'. You can activate it with an argument
  to the configure script, e.g.

./configure --activate-module=src/modules/extra/gzip/mod_gzip.c
  make
  make install

This will build a new Apache with mod_gzip statically build in.
  The DSO-Version is much easier to build. Just type

make APXS=/path/to/apxs
  make install APXS=/path/to/apxs

The apxs script is normaly in the bin directory of Apache.

Kritik und Tester sind willkommen :)

Gruesse,
 CK