Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Делимся опытом
Показать сообщение отдельно

Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Фишка №9.
Сжатие кода страницы.

Сразу оговоримся, что сжатие касается только текстового контента - кода разметки. Лучше это работает когда есть некий движок сайта который "вычисляет" код страницы и делает вывод клиенту одним echo|print. Тогда все вообще просто:
Код: Выделить весь код
if ( (strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) and (extension_loaded('zlib')) )
 {
  header('Content-Encoding: gzip');
  echo gzencode($PageContent, 9);
 }
else
  echo $PageContent;
Условием проверяем готовность клиента воспринимать сжатый контент и возможность сжимать, затем уведомляем о сжатом контенте, сжимаем и отдаем.
Важно: вывод любого контента, даже сжатого, должен быть после любых выводов заголовков.
У меня сжатие контента происходит примерно в 5-7 раз. Объясню почему такой большой процент: отсутпы, люблю делать отступы и все структурировать. Однако тут бонус - доволен программист, доволен посетитель.
Подводный камень: Outpost Firewall рубит такой контент на корню. Он просто не выпускает броузерные заголовки о возможности принимать сжатый контент. Чтобы побороться за трафик у себя необходимо почитать тут. Однако следует заметить, что все отзывы о включении этой фичи говорят о нормальной работе без каких-либо ограничений.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 13:40, 27-04-2005 | #12

Название темы: Делимся опытом