Ожидается сжатый контент

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

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

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

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

Что я делаю неправильно?


person pestaa    schedule 01.08.2009    source источник


Ответы (4)


На самом деле это не тот ответ, которого вы могли ожидать, но вы пытались сжимать данные не с помощью 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
  • если проблема исходит от вашего интернет-провайдера или что-то в этом роде, никто ничего не может сделать ...
person Pascal MARTIN    schedule 01.08.2009
comment
о, хорошо :-( жаль, что у вас нет mod_deflate :-(; кстати, я только что проверил URL-адрес, который вы указали с помощью FF 3.5, и страница, похоже, отлично сжата: с помощью LiveHTTPHeaders у меня есть Content-Encoding : gzip в заголовках ответа - person Pascal MARTIN; 02.08.2009
comment
Что ж, все три сайта, которые вы указали в OP, показывают, что ваш контент заархивирован; Итак, я думаю, вы нашли, как решить свою проблему :-) - person Pascal MARTIN; 02.08.2009
comment
Нет, вероятно, проблема не в моем веб-сайте, а в моем интернет-провайдере / браузере / маршрутизаторе. Один из них может распаковать каждый компонент до того, как он достигнет внутренних процессов. - person pestaa; 02.08.2009
comment
Приятно видеть, что у вас есть правильно сжатый контент. Тем не менее, в моей сети чего-то не хватает. - person pestaa; 02.08.2009
comment
Извините, я абсолютно не понял вопрос: я думал, проблема в том, что ваш веб-сайт не обслуживается сжатым архивом. Я отредактировал свой ответ в другой раз ^^ - person Pascal MARTIN; 02.08.2009
comment
Я тоже не знал, как спросить, поскольку мой браузер не получает сжатый контент, так как я могу убедиться, что сайт сжат с помощью gzip. Я попробовал принять кодировку с помощью gzip, gzip, deflate и gzip, deflate, но ничего не помогло. Спасибо за помощь, я приму твой ответ. - person pestaa; 03.08.2009
comment
Хорошо спасибо! И извини, что ничем не мог помочь :-( - person Pascal MARTIN; 03.08.2009

В дополнение к другие. Он открывает окно, показывающее точные заголовки запроса / ответа по мере их движения вперед и назад, поэтому вы без сомнения знаете, что такое accept-encoding и response-encoding.

person skaffman    schedule 01.08.2009
comment
Спасибо за предложение. Это расширение также показывает, что ничего не заархивировано. Интересно, что могло вызвать это. - person pestaa; 02.08.2009
comment
Понятия не имею, но теперь вы знаете, что проблема на стороне сервера. Запрос включает заголовок принятия gzip, да? - person skaffman; 02.08.2009

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

person Mike McQuaid    schedule 01.08.2009
comment
В моей стране нет хороших хостинговых услуг, и даже общие хосты с включенным mod_deflate довольно дороги. Я пытался включить, но безуспешно. - person pestaa; 02.08.2009

  • Are you sure you're testing the same URLs with the Firefox extensions?
    • Using the ob_gzhandler in PHP will compress the output of your php pages, but YSlow and others warn you also about uncompressed css/javascript files.
  • Убедитесь, что браузер отправляет правильные заголовки. Браузер обычно отправляет заголовок «Accept-encoding: gzip», чтобы сообщить скрипту / веб-серверу, что он принимает сжатый контент. Скрипты тестирования обязательно отправят это, но ваш браузер может нет.
person Cristian Vat    schedule 01.08.2009