Ожидаемый архивированный контент
-
10-07-2019 - |
Вопрос
Я включил сжатие gzip на своем веб-сайте и протестировал со следующими инструментами:
- http://www.whatsmyip.org/http_compression/
- http://www.gidnetwork.com/tools/gzip-test.php
- http://web-sniffer.net/
Хотя 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", сообщающий скрипту / веб-серверу, что он принимает сжатый контент.Тестовые скрипты наверняка отправят это, но ваш браузер может и не отправить.