vagrand
1.02.2014 - 14:23
Есть куча html файлов, полностью статических. Хочу всех их сжать при помощи gzencode() и потом напрямую отдавать пользователю. И вот с прямой отдачей как раз и выходит затык. Прописываю в .htaccess директиву:
Header set Content-Encoding: gzip
В браузере вижу что нужный хидер мне отдается, но декодирование не происходит.
И в том же самое время, вот такой код:
$content = file_get_contents('./kreemea.shtml');
$content = gzencode($content, 9);
header('content-encoding: gzip');
echo $content;
абсолютно нормально отдает контент файла. Список хидеров для обоих способов проверял, все идентично. Может я не знаю какой-то особенности?
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
vagrand
2.02.2014 - 09:09
Я так понимаю, что никто не в курсе? Жаль.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
killer8080
2.02.2014 - 13:15
Возможно на сервере уже включено gzip сжатие, и происходит двойная обработка?
PS А смысл это делать на стороне PHP?
vagrand
2.02.2014 - 15:52
killer8080
Цитата |
Возможно на сервере уже включено gzip сжатие, и происходит двойная обработка? |
Нет, не включена.
Цитата |
PS А смысл это делать на стороне PHP? |
Не понял вопроса.
P.S. Я разобрался в чем была проблема. Такой способ не работает именно в случае с shml, видимо какие-то замутки SSI.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
killer8080
2.02.2014 - 15:57
Цитата (vagrand @ 2.02.2014 - 13:52) |
Не понял вопроса. |
я к тому, что вебсервер сам прекрасно справляется с задачей сжатия контента, зачем это делать вручную?
vagrand
2.02.2014 - 16:00
killer8080
Цитата |
я к тому, что вебсервер сам прекрасно справляется с задачей сжатия контента, зачем это делать вручную? |
Я специально в начале вопроса указал, что мои html файлы статические. Вдобавок они очень редко меняются. Легче один раз, при изменении, их сжать, чем сжимать каждый раз при запросе.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
killer8080
2.02.2014 - 16:08
Цитата (vagrand @ 2.02.2014 - 14:00) |
Легче один раз, при изменении, их сжать, чем сжимать каждый раз при запросе. |
А разве твой скрипт не делает то же самое при каждом запросе?
К тому же у mod_gzip есть опция mod_gzip_can_negotiate, которая позволяет вместо .html отдавать одноименный .html.gz предварительно сжатый. Тогда действительно будет экономия ресурсов.
http://www.lissyara.su/articles/freebsd/www/mod_gzip/
vagrand
2.02.2014 - 16:20
killer8080
Цитата |
А разве твой скрипт не делает то же самое при каждом запросе? |
Нет, скрипт я привел в качестве примера отдачи файла сжатого налету. Планируется что все файлы будут сжиматься один раз и затем отдаваться по прямым ссылкам на сжатые html файлы.
Цитата |
К тому же у mod_gzip есть опция mod_gzip_can_negotiate |
Про это не знал, но функционал получается практически идентичным, так что особого тут выигрыша нет. Затык у меня был именно с тем, что сжатый файл по прямой ссылке не удавалось правильно отдать. Как выяснилось все дело было именно в расширении shtml.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.