MyTetra Share
Делитесь знаниями!
Как определять, поймет ли клиент страницы в формате GZIP или Deflate
Время создания: 21.11.2008 23:14
Текстовые метки: php, gzip, deflate, формат
Раздел: Компьютер - Программирование - Язык PHP
Запись: xintrea/mytetra_syncro/master/base/0000000323/text.html на raw.github.com

Вопрос:


Как насчет того, чтобы проверять заголовки, которые пришли клиента? Если клиент говорит, что скушает gzip — кормить gzp'ом, отказался от gzip'а, но сказал, что ест deflate, то deflate'ом?



Ответ:


Я как раз так и делаю:


if(isset($_SERVER['HTTP_ACCEPT_ENCODING']))

$acceptEnc = $_SERVER['HTTP_ACCEPT_ENCODING'];

else

$acceptEnc = $_SERVER['HTTP_TE'];


$_SERVER[cmsGZIP] = array(

"enabled" => (stristr($acceptEnc, 'gzip') || stristr($acceptEnc, 'deflate'))? true: false,

"algorythm" => (stristr($acceptEnc, 'deflate'))? "deflate" : "gzip",);



Т.е. создается ассоциативный массив вида


a["enabled"]=true или flse

a["algorythm"]="deflate" или "gzip"


и передается в $_SERVER[cmsGZIP].


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования