это очень странно, я погуглил проблему, не повезло вообще. у меня 2 сервера (centos6, apache2.2). Конфигурация apache полностью такая же (я уверен, что apache настроен марионеткой)
мой deflate.conf:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript text/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/json
когда я curl -I - сжатый http: //web1.tld/file.css я получаю следующий ответ:
HTTP/1.1 200 OK
Date: Fri, 19 Sep 2014 15:02:21 GMT
Server: Apache
Last-Modified: Fri, 19 Sep 2014 08:36:46 GMT
ETag: "189dc-50367005ed32a"
Accept-Ranges: bytes
Cache-Control: max-age=2419200
Expires: Fri, 17 Oct 2014 15:02:21 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 16191
Content-Type: text/css
Это нормально я вижу Кодирование содержимого: gzip
со вторым сервером: curl -I - сжатый http: //web2.tld/file.css
HTTP/1.1 200 OK
Date: Fri, 19 Sep 2014 15:03:47 GMT
Server: Apache
Last-Modified: Fri, 19 Sep 2014 08:36:46 GMT
ETag: "189dc-50367005ed32a"
Accept-Ranges: bytes
Content-Length: 100828
Cache-Control: max-age=2419200
Expires: Fri, 17 Oct 2014 15:03:47 GMT
Vary: Accept-Encoding
Content-Type: text/css
и это НЕ нормально: Длина содержимого: 100828 и нет заголовок Кодирование содержимого: gzip
НО! странно здесь: когда я делаю тот же запрос от web1 к серверу web2 - gzip включен на web2!
также, пожалуйста, посоветуйте, можно ли отправлять заголовок «Vary» ТОЛЬКО, когда в запросе есть «Accept-Encoding»?