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

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 19:09, 20 сентября 2010 (править)
81.177.24.112 (Обсуждение)

← К предыдущему изменению
Версия 06:13, 21 сентября 2010 (править) (отменить)
Rekby (Обсуждение | вклад)

К следующему изменению →
Строка 61: Строка 61:
Единственный случай, когда это действительно полезно - сжимать статические .css или .js файлы (например, библиотеку jquery). Поскольку трудности со сжатием на общем веб-сервере Apache популярны, к счастью, есть простой обходной путь - сжать файлы заранее и положить их на сервер в сжатом виде. Единственный случай, когда это действительно полезно - сжимать статические .css или .js файлы (например, библиотеку jquery). Поскольку трудности со сжатием на общем веб-сервере Apache популярны, к счастью, есть простой обходной путь - сжать файлы заранее и положить их на сервер в сжатом виде.
-Что делать дальше - ясно из следующего примера (вторая часть): 
-http://www.ardamis.com/2010/07/11/compress-files-without-mod_gzip-or-mod_deflate/+[[Предварительное сжатие статических файлов на Apache]]
[[Категория:WEB-сервер IIS]] [[Категория:WEB-сервер IIS]]
[[Категория:WEB-сервер Apache]] [[Категория:WEB-сервер Apache]]

Версия 06:13, 21 сентября 2010

Содержание

Компрессия 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

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

Компрессию статики на общем сервере включить к сожалению нельзя. Сжатие динамики тоже, но есть приятное исключение -

Сжатие динамики на PHP

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

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

ob_start("ob_gzhandler", 9);

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

Сжатие динамики на PERL, Ruby и так далее

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

Если очень надо сжимать статику

Единственный случай, когда это действительно полезно - сжимать статические .css или .js файлы (например, библиотеку jquery). Поскольку трудности со сжатием на общем веб-сервере Apache популярны, к счастью, есть простой обходной путь - сжать файлы заранее и положить их на сервер в сжатом виде.

Предварительное сжатие статических файлов на Apache

Личные инструменты