mod_gzip
mod_gzip — это внешний модуль расширения для HTTP-сервера Apache v1 и v2.
Это позволяет использовать метод сжатия Gzip для значительного сокращения объема содержимого веб-страницы, передаваемого по протоколу HTTP .
mod_gzip можно скомпилировать в Apache как статический или динамический модуль.
Совместимость
[ редактировать ]Можно проверить сервер, отправляет ли он сжатые данные, а также совместимость браузера со сжатием, например, здесь .
Когда текстовое содержимое сжимается с помощью mod_gzip, оно должно сохранять свой MIME-тип в соответствии с рекомендуемым типом носителя:
- HTML: текст/html
- XHTML: приложение/xhtml+xml
- CSS: текст/css
- JavaScript: приложение/x-javascript
В одной из самых ранних версий Apache 1.3 были представлены некоторые внутренние функции для оценки регулярных выражений. Эта функция используется mod_gzip (для оценки правил фильтрации), поэтому mod_gzip не будет работать вместе с Apache 1.2.x или более ранними версиями. [ 1 ]
Совместимость между Apache 1.3.x и mod_gzip 1.3.y в целом обеспечена: API Apache 1.3 больше не меняется, mod_gzip будет работать даже с очень старыми версиями Apache 1.3.
Некоторые альтернативы
[ редактировать ]Модуль mod_deflate похож на mod_gzip, но его можно использовать только с Apache v2. Ранние версии mod_deflate обеспечивали меньшую степень сжатия, чем mod_gzip. [ 2 ] Начиная с Apache 2.0.45, уровень сжатия mod_deflate настраивается с помощью директивы DeflateCompressionLevel , поэтому эта разница исчезла.
Модуль mod_gz был независимо разработан Яном Холсманом. сжатия gzip Этот модуль реализует фильтр для Apache 2.0, обеспечивая функциональность, аналогичную mod_gzip. Одним из важных различий между этими двумя модулями является то, что mod_gzip включает собственную реализацию gzip, тогда как mod_gz использует внешнюю библиотеку zlib.
В PHP аналогичный эффект достижим для вывода PHP-скриптов с помощью:
- функции ob_gzhandler () и gzencode() ;
- Параметр zlib.output_compression в файле php.ini.
CherryPy предлагает фильтр Gzip , [ 3 ] который использует модуль zlib стандартной библиотеки Python.
Лицензия
[ редактировать ]Модуль mod_gzip лицензируется по лицензии Apache .
История
[ редактировать ]Сжатие контента на уровне модуля для Apache началось с mod_gzip, написанного Кевином Кили и Константином Балашоу. [ 4 ] осенью 2000 года, задокументировано Михаэлем Шрёплем, [ 5 ] [ 6 ] опубликовано Remote Communications Inc. (RCI). [ 7 ] RCI была куплена HyperSpace Communications, RCI опубликовала код в открытом доступе. [ 8 ]
Разработчики серверов Apache 2.0.x включили в кодовую базу сервера модуль mod_deflate для выполнения аналогичной функции кодирования GZIP. mod_gzip остался внешним модулем расширения.
См. также
[ редактировать ]- mod_deflate
- HTTP-сжатие
- Некоторые модули Apache общего назначения
- Некоторые интерфейсы языков программирования для Apache
Внешние ссылки
[ редактировать ]- Исходная домашняя страница mod_gzip.
- Начиная с версии 1.3.19.2a mod_gzip нашел новый дом на SourceForge.
Примечания
[ редактировать ]- ^ mod_gzip требует Apache 1.3+.
- ^ Сравнение mod_deflate и mod_gzip
- ^ «CherryPy предлагает фильтр Gzip» . Архивировано из оригинала 12 февраля 2005 г. Проверено 11 октября 2009 г.
- ^ Крэнстон, Питер (17 октября 2000 г.). «Рекомендованное интервью WebReference» . www.webreference.com . Проверено 2 июля 2017 г.
- ^ «mod_gzip, автор: Михаэль Шрёпль» . Архивировано из оригинала 17 сентября 2008 г. Проверено 11 октября 2009 г.
- ^ mod_gzip, написан осенью 2000 г.
- ^ RCI изначально опубликовал mod_gzip.
- ^ RCI опубликовала код в общественном достоянии.