Компрессия gzip на веб-сервере

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 17:51, 20 сентября 2010 (править)
Dmach (Обсуждение | вклад)
(Новая: == Компрессия gzip на виртуальном хостинге Суть - оно уже есть, дополнительно ничего делать не надо. Наст...)
← К предыдущему изменению
Текущая версия (09:59, 16 апреля 2021) (править) (отменить)
Dmih (Обсуждение | вклад)
м
 
(9 промежуточных версий не показаны.)
Строка 1: Строка 1:
-== Компрессия gzip на виртуальном хостинге+== Компрессия gzip на виртуальном хостинге ==
Суть - оно уже есть, дополнительно ничего делать не надо. Настроено хорошо и для большинства случаев подходит. Суть - оно уже есть, дополнительно ничего делать не надо. Настроено хорошо и для большинства случаев подходит.
Строка 43: Строка 43:
* Компрессия динамики - НЕ включена * Компрессия динамики - НЕ включена
-Из-за неудачной реализации компресии на виртуальном хостинге сжатие на Apache не предоставляется.+==== Сжатие статики на Apache ====
 +На всех тарифах UNIX хостинга в веб-сервере Apache включен модуль [http://httpd.apache.org/docs/2.2/mod/mod_deflate.html mod_deflate], который позволяет осуществлять сжатие на лету методом [https://ru.wikipedia.org/wiki/Deflate Deflate]
 + 
 +Для включения сжатия добавьте в файл /http/.htaccess следующие строки:
 + SetOutputFilter DEFLATE
 + <ifModule mod_deflate.c>
 + AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
 + </ifModule>
 +это включит сжатие для файлов имеющих [https://ru.wikipedia.org/wiki/Список_MIME-типов MIME] тип text/html, text/xml и т.д.
 +<br /><br />
 +Если по каким-либо соображениям использование модуля mod_deflate невозможно, то есть альтернативный способ отдачи сжатого контента, см. [[Предварительное сжатие статических файлов на Apache]] (решение для технических специалистов).
 + 
 +==== Сжатие динамики на PHP ====
 + 
 +В целом PHP может самостоятельно сжимать отдаваемые страницы, причем делается там это очень просто. К сожалению, это сжатие требует знания специфики конкретного сайта на PHP. Если у вас сайт на популярной CMS, то 99% из них умеют включать gzip сами, просто найдите там соответствующую опцию.
 + 
 +Если вы сами разрабатываете сайт, то можно попробовать самый простой метод - такой PHP код в начало кода вашего сайта:
 + ob_start("ob_gzhandler", 9);
 +Для подробностей прочтите документацию по PHP.
 + 
 +==== Сжатие динамики на PERL, Ruby и так далее ====
 + 
 +Обычно включается в готовом приложении с помощью его собственных настроек.
 + 
 + 
[[Категория:WEB-сервер IIS]] [[Категория:WEB-сервер IIS]]
[[Категория:WEB-сервер Apache]] [[Категория:WEB-сервер Apache]]

Текущая версия

Содержание

[править] Компрессия gzip на виртуальном хостинге

Суть - оно уже есть, дополнительно ничего делать не надо. Настроено хорошо и для большинства случаев подходит.

[править] IIS версии 6

  • Компрессия статики - включена
  • Компрессия динамики - НЕ включена

IIS сжимает (по запросу браузера) файлы следующих расширений:

  • .htm
  • .html
  • .txt
  • .js

Вносить индивидуальные параметры компрессии для конкретных сайтов нельзя, только глобально для сервера. По запросу можно добавить расширение в этот список.

[править] IIS версии 7 и 7.5

  • Компрессия статики - включена
  • Компрессия динамики - НЕ включена

IIS сжимает (по запросу браузера) файлы следующих MIME-типов:

  • text/*
  • message/*
  • application/x-javascript
  • application/atom+xml
  • application/xaml+xml

На уровне сайта можно включать или откючать компрессию, вносить изменения в типы для сжатия нельзя. Пример файла web.config для управления сжатием (включить\выключить):

<configuration>
  <system.webServer>
    <urlCompression doStaticCompression="false" doDynamicCompression="false" />
  </system.webServer>
</configuration>

[править] Apache

  • Компрессия статики - НЕ включена
  • Компрессия динамики - НЕ включена

[править] Сжатие статики на Apache

На всех тарифах UNIX хостинга в веб-сервере Apache включен модуль mod_deflate, который позволяет осуществлять сжатие на лету методом Deflate

Для включения сжатия добавьте в файл /http/.htaccess следующие строки:

SetOutputFilter DEFLATE
<ifModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</ifModule>

это включит сжатие для файлов имеющих MIME тип text/html, text/xml и т.д.

Если по каким-либо соображениям использование модуля mod_deflate невозможно, то есть альтернативный способ отдачи сжатого контента, см. Предварительное сжатие статических файлов на Apache (решение для технических специалистов).

[править] Сжатие динамики на PHP

В целом PHP может самостоятельно сжимать отдаваемые страницы, причем делается там это очень просто. К сожалению, это сжатие требует знания специфики конкретного сайта на PHP. Если у вас сайт на популярной CMS, то 99% из них умеют включать gzip сами, просто найдите там соответствующую опцию.

Если вы сами разрабатываете сайт, то можно попробовать самый простой метод - такой PHP код в начало кода вашего сайта:

ob_start("ob_gzhandler", 9);

Для подробностей прочтите документацию по PHP.

[править] Сжатие динамики на PERL, Ruby и так далее

Обычно включается в готовом приложении с помощью его собственных настроек.