Вопрос

Я включил сжатие gzip на своем веб-сайте и протестировал со следующими инструментами:

Хотя Firefox и все его расширения (Firebug, Yslow и Google Page Speed) говорят, что они получают несжатый контент.

текст / html сжимается ob_gzhandler php, который также заботится о заголовках.

Я не использую прокси.

Что я делаю не так?

Это было полезно?

Решение

На самом деле это не тот ответ, который вы могли бы ожидать, но пробовали ли вы сжимать данные не с помощью PHP, а с помощью Apache ?

Это можно сделать с помощью mod_deflate.

Пара вещей :

  • это означало бы меньше вычислений для PHP
  • это также означало бы (и это самая приятная часть ;-) ) что ваши CSS / JS файлы могут быть сжаты до ;учитывая их размер, в наши дни, возможно, было бы неплохо их сжать...


В качестве дополнительной заметки :чтобы помочь нам выяснить, что происходит не так со сжатием с помощью PHP, не могли бы вы предоставить больше информации?Нравится URL вашего сайта (если это общедоступно), и какой - нибудь код ?


ОТРЕДАКТИРУЙТЕ теперь, когда у нас есть URL : http://ego.pestaa.hu/

Когда я перехожу на эту страницу, заголовки ответа выглядят следующим образом :

HTTP/1.x 200 OK
Date: Sat, 01 Aug 2009 21:53:37 GMT
Server: Apache
X-Powered-By: PHP/5.2.6
**Content-Encoding: gzip**
Vary: Accept-Encoding
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

(используя firefox 3.5 с расширением LiveHTTPHeaders)

Три тестовых сайта, которые вы указали, также говорят, что ваша страница загружена в gzip.
Вы нашли , в чем была проблема ?

Вы уверены, что это не что-то, исходящее из вашего браузера, которое не отправило бы следующий заголовок в запросе :

Accept-Encoding: gzip,deflate

РЕДАКТИРОВАТЬ после другого ответа

Цитата из комментариев :

источником проблемы, вероятно, не мой сайт, но у моего провайдера/браузер/маршрутизатор.Один из них может распаковать каждый компонент, прежде чем он достигнет внутренних процессов.

О, если проблема не в вашем веб-сайте, я думаю, что я совершенно неправильно понял вопрос - извините за это :-( Я думал, вы не знаете, как размещать на сервере архивированный контент со своего веб-сайта.
И я думаю, что я не единственный, кстати

Если проблема не имеет ничего общего с конфигурацией вашего веб-сайта, тогда возможны две возможности :

  • может быть, неправильная конфигурация Firefox ?Если вы отправитесь в about:config, что делает network.http.accept-encoding сказать ?Для меня это gzip,deflate
  • если проблема исходит от вашего интернет-провайдера или что-то в этом роде, никто ничего не сможет сделать...

Другие советы

Попробуйте Живые Http-Заголовки плагин firefox в дополнение к другим.Это открывает окно, показывающее точные заголовки запроса / ответа по мере их перехода назад и вперед, так что вы без сомнения знаете, что такое accept-encoding и response-encoding .

Вы пробовали просто включить gzip в Apache / вместо этого на вашем веб-сервере /, а также?

  • Вы уверены, что тестируете одни и те же URL-адреса с расширениями Firefox?
    • Использование ob_gzhandler в PHP приведет к сжатию выходных данных ваших php-страниц, но YSlow и другие предупреждают вас также о несжатых файлах css / javascript.
  • Убедитесь, что браузер отправляет правильные заголовки.Браузер обычно отправляет "Accept-encoding:заголовок "gzip", сообщающий скрипту / веб-серверу, что он принимает сжатый контент.Тестовые скрипты наверняка отправят это, но ваш браузер может и не отправить.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top