Gzip и заголовок Via:

Igor Sysoev is at rambler-co.ru
Wed Jan 19 23:24:57 MSK 2005


On Wed, 19 Jan 2005, Mike Kolesnikov wrote:

> Дома пользуюсь небольшой HTTP проксёй/кэшем: polipo.
> Заметил, что nginx не отдает ему сжатый контент, тогда как при обращении
> к нему напрямую мозиллой приходит нормальный content-encoding: gzip.
>
> Произвел несколько экспериментов. Дело оказалось в заголовке Via.
> Вот тут nginx отдавал gzip, как и положено:
>
> GET /robots.txt HTTP/1.1
> Host: 12.34.56.7
> Accept-Encoding: gzip
>
> Как только добавляется заголовок Via:, gzip сразу как не бывало, и
> отдается plain text:
>
> GET /robots.txt HTTP/1.1
> Host: 12.34.56.7
> Accept-Encoding: gzip
> Via: 1.1 test.com
>
> Это баг, или такая фича?

Фича. Сжатием ответов на проксированные запросы можно управлять директивами:

gzip_http_version  [ 1.0 | 1.1 ];
gzip_proxied       [ any | off |
                      expired no-cache no-store private auth
                      no_last_modified no_etag ];

Они примерно соответствуют директивам mod_deflate:
http://sysoev.ru/mod_deflate/readme.html#DeflateHTTP
http://sysoev.ru/mod_deflate/readme.html#DeflateProxied

gzip_proxied гибче. Например, "DeflateProxied nocachable" соотвествует
"gzip_proxied  expired no-cache", "DeflateProxied poor_cachable" -
"gzip_proxied  expired no-cache no-store private no_last_modified no_etag"

"gzip_proxied  auth" относится к некэшируемым.


Игорь Сысоев
http://sysoev.ru


More information about the nginx-ru mailing list