В этом материале я решил разобрать один из видов сжатия - gzip . Данный вид сжатия характерен тем, что с ним умеют работать браузеры. Давайте разберём, как происходит этот процесс и зачем это нужно.

Что такое gzip

В этом материале я решил разобрать один из видов сжатия - gzip. Данный вид сжатия характерен тем, что с ним умеют работать браузеры. Давайте разберём, как происходит этот процесс и зачем это нужно.

Когда клиент запрашивает через браузер страницу, на сервере данная страница сжимается с помощью gzip. В результате, размер страницы заметно сокращается, и после этого она отдаётся браузеру. Поскольку размер значительно меньше, то и загружается в браузере она намного быстрее.

Браузер, получив сжатую страницу, начинает её распаковывать и выводить пользователю. Обратите внимание, что сжимается только текст. Все отдаваемые изображения, видео, музыка и прочая мультимедиа никак не сжимается.

Чтобы включить gzip-сжатие на сервере, необходимо в .htaccess прописать следующее:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/css
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
</IfModule>

Теперь надо на все страницы сайта (если это движок, то, как правило, в index.php) надо добавить следующее:

<?php
  ini_set('zlib.output_compression', 'On');
  ini_set('zlib.output_compression_level', '1');
?>

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

Однако, не всегда gzip стоит использовать. В следующей статье мы обсудим: стоит ли использовать gzip.