Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как узнать отношение браузера к gzip и отдать правильные файлы?
 
 автор: provodnik   (06.08.2008 в 03:10)   письмо автору
 
 

Доброй ночи господа.
Суть такова: хочется сжать CSS и JS файлы сайта в gzip и отдавать посетителям, предварительно узнав, поддерживает ли клиент данный момент и обязательно учитывая кэширование.

Использует ли кто данный вариант экономии трафика пользователей?
Я прочитал кучу материалов, примеров. Все примеры разные, и не факт, что рабочие (я сам не проверял).

Очень хочется увидеть рабочий пример, так сказать "из первых рук".
Особенно в наше время увесистых JS-фреймворков.
Спасибо за комментарии.

  Ответить  
 
 автор: DDK   (06.08.2008 в 03:29)   письмо автору
 
   для: provodnik   (06.08.2008 в 03:10)
 

Проверяйте $http_server_vars['http_accept_encoding'] на наличие вхождения gzip (или x-gzip)

  Ответить  
 
 автор: xx77   (06.08.2008 в 03:40)   письмо автору
 
   для: provodnik   (06.08.2008 в 03:10)
 

http://softtime.ru/forum/read.php?id_forum=1&id_theme=45597
но придётся наверное отдавать файлы как <link type=text/css href="hand.php?x=style_css"....
или делать файлы css и js выполняемыми

  Ответить  
 
 автор: waptanet   (06.08.2008 в 13:08)   письмо автору
 
   для: provodnik   (06.08.2008 в 03:10)
 

Ну сжимается обычно буфер,а подключаемые файлы css и js скорее всего сжиматся небудут ... ну не выводить же их средствами php ... глупо как то ...

>поддерживает ли клиент данный момент

можно делать так:

if(ini_get('output_handler') != 'ob_gzhandler' && ini_get('output_handler') != 'zlib.output_compression')
{
   ob_start('ob_gzhandler');
}


>Использует ли кто данный вариант экономии трафика пользователей?

трафик пользователей Вы съэкономите неприменно,но вот учитывая как оплачивается у хостеров перекос входящего/исходящего трафика ... думаю для Вас это может выйти боком .. ))

  Ответить  
 
 автор: provodnik   (06.08.2008 в 15:22)   письмо автору
 
   для: waptanet   (06.08.2008 в 13:08)
 

Да не в серверном трафике дело. Дело в том, что в проекте используется CSS файл, весящий 20кб, JS-фреймворки - prototype, scriptaculous, jquery, JsHttpRequest (Д.Котерова). Все это богатство весит пол мега, и сами понимаете - без кеширования и гзипования тут далеко не уйдешь.
Вот поэтому и ломаю голову, и ищу, желательно, готовый, рабочий код.
Дело даже не в сжимании "на лету" и отдача правильного файла. Как сжатые, так и оригинальные файлы можно положить в одну папку и отдавать, в зависимости от клиента.
Я накопал массу примеров, посмотрите, если есть время:
http://webo.in/articles/habrahabr/07-gzip-all/
http://blog.joshuaeichorn.com/archives/2007/01/10/compressing-javascript-and-css/
http://www.julienlecomte.net/blog/2007/08/13/
http://vectora.ru/articles-and-tutorials/49-web-technologies/117-css-js-compression-without-performance-penalties
http://wyome.com/docs/Compressing_Javascript_with_PHP
http://webo.in/articles/all/js-gzip-caching/
http://forum.vingrad.ru/forum/topic-74684/anchor-entry1601501/15.html#st_0_view_0

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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования