Оптимизация блога при помощи GZIP сжатия

5
Просмотров: 2 640

Сжатие простой и эффективный способ увеличить скорость работы вашего блога. На дворе 21 век, а это значит, что большинство людей пользуются современными браузерами и быстрым интернетом. Именно эти факторы и диктуют вебмастерам позаботиться о своих блогах и сделать все возможное, что бы пользователь когда попадет на их блог не ждал загрузки страницы слишком долгое время.

 

Зачем мы это делаем?

Прежде чем начнем, я хочу не много объяснить и наглядно показать, что происходит вдали от наших глаз когда общаются между собой браузер и сервер. Допустим мы заходим на главную страницу моего блога http://allproall.com И браузер начинает общаться с сервером вот так:

  1. Браузер: Привет, GET мне / index.html
  2. Сервер: Хорошо, сейчас проверю если есть index.html
  3. Сервер: Нашел! Статус ответил (200 ОК), я посылаю файл.
  4. Браузер: 100KB??? Ого!, ладно я подожду, все еще жду…, загружен

Как видите, все работает, но все таки, лично я думаю, что вес передаваемой страницы велик и опять таки посетитель должен ждать пока откроется запрашиваемая страница.

Так в чем же проблема?

В принципе все работает, браузер ждет пока сервер передаст ему 100KB  запрашиваемой страницы. Но нормально ли это? Думаю, что это не очень эффективно и это надо исправлять. Скорее всего такой вес страницы получается из за обилия «текста» в HTML  коде, слишком много лишнего, того, что можно укоротить. Так, что же делать когда файл большой?  Ответ прост, заархивируем страницу. А почему бы и нет?

Мы отправим в браузер архив, который весит на много меньше старого доброго index.html. Все современные браузеры умеют работать с архивами, отрывать их и отображать. Этим самым мы сэкономим время передачи файла, его вес, а так же самое главное время ожидания посетителя блога, который не очень желает ждать медленной и долгой загрузки страницы.

И так мы заархивировали наш index.html. И пробуем вновь отослать запрос на сервер, для получения нужной нам страницы:

 

  1. Браузер: Привет, GET мне / index.html
  2. Сервер: Сейчас найду запрашиваемый файл. Нашел. Примешь?
  3. Сервер: Отлично, я нашел index.html статус (200 ОК), сжимаю и передаю.
  4. Браузер: Отлично! Всего 10 KB. Сейчас распакую и загружу пользователю.

Как мы видим, формула очень проста: малый размер файла + скорость загрузки = довольный пользователь.

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

Контролировать наш браузер мы не можем. Либо он принимает архив либо нет. Тут как говорится всем пользователям не угодить. Но все новые браузеры давно умеют работать с gzip. И так давайте настроим сжатие файла на сервере.

В Apache, данное сжатие настраивается очень просто. Добавьте следующие строки кода в ваш файл Htaccess.:
{code type=php}# compress text, html, javascript, css, xml:  AddOutputFilterByType DEFLATE text/plain  AddOutputFilterByType DEFLATE text/html  AddOutputFilterByType DEFLATE text/xml  AddOutputFilterByType DEFLATE text/css  AddOutputFilterByType DEFLATE application/xml  AddOutputFilterByType DEFLATE application/xhtml+xml  AddOutputFilterByType DEFLATE application/rss+xml  AddOutputFilterByType DEFLATE application/javascript  AddOutputFilterByType DEFLATE application/x-javascript  # Or, compress certain file types by extension: <Files *.html> SetOutputFilter DEFLATE </Files>{/code}

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

Проблемы

Сжатие это хорошо, но существует ряд проблем с которыми вы можете столкнутся. И их надо обязательно учесть:

  • Старые браузеры: Именно старые браузеры не могут работать с жатым контентом.
  • Уже сжатый контент: Большинство изображений, музыки и видео уже сжаты. Не тратьте время сжимая их снова.
  • CPU-нагрузка: Сжатие контента на лету использует процессорное время и сохраняет пропускную способность. Обычно это большой компромисс, учитывая скорость сжатия. Есть способы предварительного сжатия статического контента и отправка. Это требует дополнительной настройки, даже если это не представляется возможным, сжимая контент вы все равно выигрываете время. Нагрузка процессора для более быстрой работы пользователей, дорогого стоит, учитывая, короткую продолжительность времени ожидания посетителем, но оно того стоит!

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

Теперь вопрос к вам: Используете ли вы сжатие на своем блога? Или может вы это делаете как то по другому? Может плагином? Жду ваших ответов

5 КОММЕНТАРИИ

ОСТАВЬТЕ ОТВЕТ