Mod gzip

mod_gzip is an external extension module for the Apache HTTP Server v1 and v2.

It allows using the Gzip compression method for a significant reduction of the volume of web page content served over the HTTP protocol.

mod_gzip can be compiled into Apache as either a static or dynamic module.

Compatibility
It is possible to check a server to see if it is sending out compressed data, and compression compatibility of a browser for example here.

When textual content is compressed using mod_gzip, it should maintain its MIME-type, according to their recommended media type:
 * HTML: text/html
 * XHTML: application/xhtml+xml
 * CSS: text/css
 * JavaScript: application/x-javascript

One of the earliest Apache 1.3 versions introduced some internal function for regular expression evaluation. This function is used by mod_gzip (for evaluating the filter rules), therefore mod_gzip would not work together with Apache 1.2.x or earlier versions.

Compatibility between Apache 1.3.x and mod_gzip 1.3.y is granted in general: the Apache 1.3 API doesn't change any more, mod_gzip would even work together with very old Apache 1.3 versions.

Some alternatives
The mod_deflate module is similar to mod_gzip, but usable only with Apache v2. Early versions of mod_deflate provided lesser amount of compression than mod_gzip. Starting with Apache 2.0.45, the compression level of mod_deflate is configurable using the DeflateCompressionLevel directive, so this difference disappeared.

A mod_gz module was independently developed by Ian Holsman. This module implements a gzip compression filter for Apache 2.0, providing similar functionality to mod_gzip. One important difference between the two modules is that mod_gzip includes its own gzip implementation, whereas mod_gz relies on an external zlib library.

In PHP similar effect achievable for the output of PHP scripts with:
 * the ob_gzhandler and the gzencode functions;
 * zlib.output_compression option in the php.ini file.

CherryPy offers the Gzip filter, which uses the zlib module of Python standard library.

License
The mod_gzip module licensed with Apache License.

History
Module level content compression for Apache started with mod_gzip, written by Kevin Kiley and Konstantin Balashow in autumn 2000, documented by Michael Schröpl, published by Remote Communications Inc. (RCI). RCI was purchased by HyperSpace Communications, RCI released the code into the public domain.

The developers of the Apache 2.0.x servers have included the mod_deflate module in the codebase for the server to perform a similar GZIP-encoding function. mod_gzip remained external extension module.