Каким образом можно включить gzip сжатие страниц

Материал из DiPHOST.Ru wiki system

Версия от 12:13, 25 февраля 2015; Schors (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Настройка веб-сервера

Можно использовать специальный модуль веб-сервера apache. Для автоматического сжатия текстовых файлов достаточно добавить в файл .htaccess:

<IfModule deflate_module>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/x-js text/javascript text/css 
    AddOutputFilterByType DEFLATE application/xml application/xhtml+xml 
    AddOutputFilterByType DEFLATE application/x-javascript application/javascript
    AddOutputFilterByType DEFLATE application/json
</IfModule>

Однако, этот модуль будет пытаться сжимать все файлы указанных MIME-типов, несмотря на размер. Что может в некоторых случаях увеличивать итоговый размер информации.


File:Messagebox warning.png ВНИМАНИЕ!
Обратите внимание, что для сжатия ответов приложений WSGI, следует положить соответствующий файл .htaccess в директорию /home/<ваш логин>/www/site<номер сайта>/webapp/


Сжатие вручную

Большие css и js самостоятельно сжать. Попробуйте упаковать файлы css и js в gzip так, чтобы рядом с исходными файлами находились их упакованные версии с расширением gz (например style.css.gz)ю Это можно сделать через консоль SSH такой командой:

gzip my_big_file.css > my_big_file.css.gz

После этого в файл .htaccess вашего сайта надо будет прописать:

RewriteEngine on

RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.css $1\.css\.gz [QSA]

RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.js $1\.js\.gz [QSA]

<FilesMatch .*\.js\.gz$>
   ForceType text/javascript
   Header set Content-Encoding gzip
   Header append Vary Accept-Encoding
</FilesMatch>

<FilesMatch .*\.css\.gz$>
   ForceType text/css
   Header set Content-Encoding gzip
   Header append Vary Accept-Encoding
</FilesMatch>

В результате все обращения браузера к js и css файлам будут перенаправляться на их сжатые копии, а браузеру будет сообщаться, что эти файлы упакованы в gzip.

Сжатия статики, отдаваемой Nginx

Рецепты nginx, которые предусматривают обработку статических файлов напрямую nginx, сжимают текстовые файлы автоматически.

Источник — «https://wiki.diphost.ru/Gzip-encoding»

Категория:

Личные инструменты
© 2006 — ООО «Дремучий лес»
Служба техподдержки: [email protected]
Тексты этого сайта являются полностью оригинальными
или оригинальными компиляциями ООО «Дремучий Лес».
Распространяются по лицензии WTFPL
Отзывы о хостинге diphost.ru Отзывы на hostobzor.ru