ruskar
@ruskar
Conflict Intelligence Team

Статическое сжатие HTML и шаблоны?

Для клиентской оптимизации часто применяют статическое или динамическое сжатие файлов методом gzip. С динамическим сжатие «на лету» вопросов нет, всё понятно: включаем соответствующие директивы в настройках сервера и он перед отправкой ответа выполняет его сжатие.

Со статическим сжатием (когда мы предварительно сами сжимаем все файлы и кладём их на сервер) вопросов нет только по части CSS, JS и статических страниц. А возможно ли как-то сочетать статическое сжатие и динамический сайт (т.е. HTML-код генерируется PHP-скриптом, который берёт Smarty-шаблоны и подставляет в них данные)?

Весь этот вопрос к тому, что динамическое сжатие может ведь быстро съесть все ресурсы сервера.

UPD: вопрос интересовал чисто теоретически, понятно что в действительности такой проблемы не стоит. Всем спасибо.

UPD2: понимаю что вопрос звучит несколько абсурдно (непонятно что можно сжимать, если сайт динамический), но давайте всмотримся в детали. Smarty заранее компилирует шаблоны — это своеобразный кэш № 1. Какой-нибудь байткод-кэшер (тот же APC) кэширует скрипты. И если для полученного запроса уже есть какой-то «скомпилированный/закэшированный» вариант, то отдаётся он. Т.е. получается даже для динамического сайта в некоторых случаях есть некие условно-статические файлы, верно? Вот мне и интересно, может придумали какие-то техники, которые аккуратно сжимают вот такие файлы, не нарушая целостность всей системы (работу Smarty, APC и т.д.)
  • Вопрос задан
  • 4327 просмотров
Пригласить эксперта
Ответы на вопрос 4
shushu
@shushu
А чем вам ob_start ( ob_gzhandler ) не угодил?

У вас такие огромные страницы что сжатие этих страниц съест все ресурсы? Не думаю что возникнут какие либо проблемы с ob_gzhandler
Ответ написан
opium
@opium
Просто люблю качественно работать
А зачем вам сжатие? Хотите съэкономить на трафике или на скорости отдаче?
По идее никак не сделаешь, кроме как модуля к вебсерверу.
Ответ написан
homm
@homm
Что-то я не пойму, как у вас динамическое сжатие может быстро съесть все ресурсы сервера? Взял страничку на 65кб, размножил её 64 мегабайта одним файлом, замерил скорость: 25 мегабайт в секунду, это 384 исходных странички в секунду. У вас хотя-бы 20 в секунду генерируется?
Ответ написан
Riateche
@Riateche
Используйте smarty-тег strip. Не совсем то, что вы просите, но позволит сэкономить байты. Если я правильно представляю, сжатие происходит в момент компиляции шаблона, то есть один раз.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы