Вопрос по GZIP

rasandrey

Участник
Регистрация
2 Апр 2009
Сообщения
214
Реакции
6
Скажите, поможет ли сжатие снизить скорость работы(загрузки) портала? Какие минусы в нем есть? Какие браузеры поддерживают? И вопрос в общем: стоит ли использовать?
 
Скажите, поможет ли сжатие снизить скорость работы(загрузки) портала?
Снизить скорость работы(загрузки) портала вряд ли выйдет, а вот повысить - скорее да, чем нет ;)

Какие минусы в нем есть? Какие браузеры поддерживают? И вопрос в общем: стоит ли использовать?
Ответ почти однозначный -
 
В интернете более чем достаточно статей на эту тему...
 
Еще появился вопрос: при просмотре свойств страницы через Firefox сжатие видно на лицо 77 - 12 кб. Но если проверять сайт через какой-то сервис "анализа сайта", то сжатие не отображается. Как вообще правильно проверить - действительно ли работает сжатие?
Включил таким образом: в начало index.php (открытие любой страницы начинается именно с него) добавил
PHP:
if ( !empty( $_SERVER['HTTP_ACCEPT_ENCODING'] ) ) ob_start("ob_gzhandler");
 
Чтобы включить gzip-сжатие нужно в php.ini сервера исправить опцию:
Код:
zlib.output_compression = Off
на
Код:
zlib.output_compression = On
Пробовал свой сайт Все правильно показывает, при том, что в коде скрипта ничего для компрессии не правил.

UPD: на php.net такой пример приводят:
PHP:
 <?php

ob_start("ob_gzhandler");

?>
<html>
<body>
<p>This should be a compressed page.</p>
</html>
<body>
 
Пробовал свой сайт *** скрытое содержание ***
и у меня показывает 85% сжатие, что все ок.

А если, например, проверить через этот , то не показывает, хотя если проверить другой сайт со сжатием через этот же ресурс , то показывает, что сжатие включено

Вот и не пойму почему
 
В общем, так. Чтобы проверить работает ли сжатие на самом деле, достаточно проверить заголовки которые шлет сервер. Можно установить дополнение для FF "Live HTTP Headers" (так по-моему называется), а там уже смотреть на предмет наличия
Код:
Accept-Encoding: gzip,deflate
к серверу и
Код:
Content-Encoding: gzip
в ответе от сервера браузеру.
 
В общем, так. Чтобы проверить работает ли сжатие на самом деле, достаточно проверить заголовки которые шлет сервер. Можно установить дополнение для FF "Live HTTP Headers" (так по-моему называется), а там уже смотреть на предмет наличия
Код:
Accept-Encoding: gzip,deflate
к серверу и
Код:
Content-Encoding: gzip
в ответе от сервера браузеру.
Такой заголовок получил
Код:
HTTP/1.1 200 OK
Date: Sat, 29 Jan 2011 15:33:04 GMT
Server: Apache/2.2.15 (Unix) PHP/5.2.14
X-Powered-By: PHP/5.2.14
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Type: text/html; charset=windows-1251
Set-Cookie: PHPSESSID=cba3826ed2ebbc3b94dbfc5b1fc17a2b; path=/
Transfer-Encoding: chunked
Т.е. этой строчки
Код:
Accept-Encoding: gzip,deflate
не наблюдается
 
Строку
Код:
Accept-Encoding: gzip,deflate
браузер должен отправлять, а в ответе от сервера должна быть
Код:
Content-Encoding: gzip
Т.е. у тебя всё нормально.
 
когда нет возможности редактировать файлы, ещё вариант добавить php скрипт вначале и в конце вызываемого php файлa через htaccess
Код:
php_value auto_prepend_file /home/_prepend_gzip.php
php_value auto_append_file /home/_append_gzip.php
_prepend_gzip.php
PHP:
<?php
ob_start("ob_gzhandler");
?>
_append_gzip.php
PHP:
<?php
ob_end_flush();
?>
тестирую тут, надо отметить Accept-Encoding: gzip


или активировать в апаче модуль mod_deflate тогда можно выбрать какие файлы сжимать, например если много html файлов
 
Назад
Сверху