Hello! On Tue, May 07, 2013 at 11:32:07PM +0100, Anatoly Mikhailov wrote:
> Меня настораживает интересная закономерность, включая/отключая gzip в > конфигурации Nginx, > ETag заголовок пропадает/появляется соответственно в прокированном ответе от > бэкэнда (Unicorn). > Проще говоря, при gzip off ответ всегда приходит с ETag, все остальные > параметры на это не влияют. > > Бэкнэнд, если слушает порт, то легко убедиться, что он добавляет заголовок > ETag к каждому ответу, > и чтобы проксировать ETag заголовок через upstream приходится выключать gzip. > Если я правильно понимаю, то сжатый ответ не может содержать некоторые > заголовки? При любых изменениях тела ответа, в том числе - модулем gzip, ETag'и из ответа убираются. Это сделано, т.к. стандарт требует, чтобы strong etags у ответов совпадали тогда и только тогда, когда ответы совпадают до байта. (А если ответы будет не совпадать при одинаковых ETag'ах - это в свою очередь чревато получением неверного суммарного ответа при комбинировании нескольких ответов на range-запросы.) Почитать подробности можно тут (и далее по ссылкам): http://tools.ietf.org/html/rfc2616#section-3.11 В качестве оптимизации - можно обучить nginx отделять weak etags от strong etags, и убирать только strong. Но для начала имеет смысл понять - надо ли оно на самом деле. -- Maxim Dounin http://nginx.org/en/donation.html _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru