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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Настройка веб-сервера)
Строка 16: Строка 16:
Однако, этот модуль будет пытаться сжимать все файлы указанных MIME-типов, несмотря на размер. Что может в некоторых случаях увеличивать итоговый размер информации.
Однако, этот модуль будет пытаться сжимать все файлы указанных MIME-типов, несмотря на размер. Что может в некоторых случаях увеличивать итоговый размер информации.
-
{warn Обратите внимание, что для сжатия ответов приложений [[WSGI]], следует положить соответствующий файл .htaccess в директорию /webapp/ внутри сайта}
+
{{warning| Обратите внимание, что для сжатия ответов приложений [[WSGI|WSGI]], следует положить соответствующий файл .htaccess в директорию /webapp/ внутри сайта}}
=== Сжатие вручную ===
=== Сжатие вручную ===

Версия 12:11, 25 февраля 2015

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

Можно использовать специальный модуль веб-сервера 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 в директорию /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 — ООО «Дремучий лес»
Служба техподдержки: support@diphost.ru
Тексты этого сайта являются полностью оригинальными
или оригинальными компиляциями ООО «Дремучий Лес».
Распространяются по лицензии WTFPL
Отзывы о хостинге diphost.ru Отзывы на hostobzor.ru