Конфигурируем Apache 1.3

Давайте рассмотрим, как можно настроить некоторые серверы для выдачи текстового содержания в виде архивов. Ниже приведен участок конфигурационного кода для Apache 1.3, позволяющий подключить gzip-сжатие. Основные директивы даны с комментариями.

<IfModulemod_gzip.c>
# включаем gzip
mod_gzip_on          Yes

# если рядом с запрашиваемым файлом есть сжатая версия с расширением .gz, то 
# будет отдана именно она, ресурсы CPU расходоваться не будут
mod_gzip_can_negotiate    Yes

# используем при статическом архивировании расширение .gz
mod_gzip_static_suffix    .gz

# выставляемзаголовок Content-Encoding: gzip
AddEncoding       gzip .gz

# выставляем минимальный размер для сжимаемого файла
mod_gzip_minimum_file_size 1000

# и максимальный размер файла
mod_gzip_maximum_file_size 500000

# выставляем максимальный размер файла, сжимаемого прямо в памяти
mod_gzip_maximum_inmem_size 60000

# устанавливаем версию протокола, с которой будут отдаваться gzip-файлы
# на клиент
mod_gzip_min_http 1000

# исключаем известные проблемные случаи
mod_gzip_item_exclude     reqheader "User-agent: Mozilla/4.0[678]"

# устанавливаем сжатие по умолчанию для файлов .html
mod_gzip_item_include file \.html$

# исключаем .css / .js файлы (о них подробнее в следующем разделе)
mod_gzip_item_exclude file \.js$
mod_gzip_item_exclude file \.css$

# дополнительно сжимаем другие текстовые файлы
mod_gzip_item_include mime ^text/html$
mod_gzip_item_include mime ^text/plain$
mod_gzip_item_include mime ^httpd/unix-directory$

# отключаем сжатие для картинок (не дает никакого эффекта)
mod_gzip_item_exclude mime ^image/

# отключаем 'Transfer-encoding: chunked' для gzip-файлов, чтобы
# страница уходила на клиент одним куском
mod_gzip_dechunk Yes

# добавляем заголовок Vary для корректного распознавания браузеров,
# находящихся за локальными прокси-серверами
mod_gzip_send_vary On
</IfModule>