Apache mod_deflate не сжимает, хотя logfile говорит, что это - PullRequest
0 голосов
/ 18 июля 2011

Я попытался с трудом найти это, но пока безуспешно. У меня есть Apache 2.2.16 на Debian с загруженной и включенной mod_deflate:

LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so

и

AddOutputFilterByType DEFLATE text/html text/css text/javascript application/x-javascript

DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%) "%{User-agent}i"' deflate
CustomLog /var/log/apache2/deflate_log deflate env=!trash

Когда я открываю страницу, файл журнала говорит, что он сжимает мой CSS-файл (и другие):

"GET / HTTP/1.1" -/- (-%) "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110420 Firefox/3.6.17"
"GET /www/js/dojoToolkit/dijit/themes/claro/claro.css HTTP/1.1" 17244/118618 (14%) "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110420 Firefox/3.6.17"
"GET /www/css/basis-min.css HTTP/1.1" 10877/61154 (17%) "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110420 Firefox/3.6.17"

Но Firebug и Chrome по-прежнему получают несжатые файлы, хотя явно принимают gzip и deflate-кодировку. Интересным фактом является также то, что

Vary: Accept-Encoding
Заголовок

все еще установлен, в отличие от Content-Encoding:

GET /www/js/dojoToolkit/dijit/themes/claro/claro.css HTTP/1.1
Host: www.getabstract.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110420 Firefox/3.6.17
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,de-ch;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.getabstract.com/
Cookie: __utma=73758084.1377620539.1310985055.1310989511.1310990668.3; __utmz=73758084.1310985055.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); fpc10001731534234=Y63gTWM9|aCXc2doLaa|fses10001731534234=|aCXc2doLaa|Y63gTWM9|fvis10001731534234=Zj1odHRwJTNBJTJGJTJGd3d3LmdldGFic3RyYWN0LmNvbSUyRiZiPUhvbWVwYWdlJTIwRU4=|8M8Y7oT7YH|8M8Y7oT7YH|8M8Y7oT7YH|8|8M8Y7oT7YH|8M8Y7oT7YH; __ar_v4=262MD4C3UNHKBELB3VUEGS%3A20110717%3A20%7CTBE3U4YYEBCGHJ2QAUBVE4%3A20110717%3A20%7CXVIJYAN7KFDQXPECC3AI7E%3A20110717%3A20; JSESSIONID=abcKrMR5EVQv68Os6h9et; __utmc=73758084
Pragma: no-cache
Cache-Control: no-cache

Ответ:

HTTP/1.1 200 OK
Date: Mon, 18 Jul 2011 13:54:45 GMT
Server: Apache
Last-Modified: Wed, 04 May 2011 10:49:12 GMT
Etag: "28023a-1cf5a-4a27101cc1a00"
Accept-Ranges: none
Cache-Control: max-age=600
Expires: Mon, 18 Jul 2011 14:04:45 GMT
Vary: Accept-Encoding
Content-Length: 118618
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: text/css

Есть идеи?

Спасибо заранее. Marc

1 Ответ

0 голосов
/ 18 июля 2011

Long shot: правильно ли apache обрабатывает ваш css-файл - т.е. правильно ли настроены типы mime?

Где находится ваш выходной фильтр, во включенном конфиге или в .htaccess [проверьте, что .htaccess может переопределять]

Можете ли вы удалить фильтр и посмотреть, сожмет ли он всесодержание?

Наконец, есть ли публичный URL, который мы можем проверить?

-sean

РЕДАКТИРОВАТЬ:

Привет еще раз, что вы используете для локального тестирования?Я вижу правильную кодировку содержимого в firefox / firebug / yslow.- [Я также вижу несколько других проблем] - если вы не используете firebug, я предлагаю проверить его [настоятельно!] - но в противном случае, да, похоже, ваше сжатие работает правильно.

-sean

...