On May 8, 2013, at 10:34 AM, Maxim Dounin <mdou...@mdounin.ru> wrote:
> Hello! > > On Wed, May 08, 2013 at 09:31:32AM +0100, Anatoly Mikhailov wrote: > >> >> On May 8, 2013, at 12:23 AM, Maxim Dounin <mdou...@mdounin.ru> wrote: >> >>> 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 >>> >> >> Ага, спасибо, более менее разобрался. Все таки, есть вариант оставлять ETag, >> пришедший от бэкэнда, >> может в сочетании с Last-Modified? > > В чём цель? Цель всегда одна - UI responsiveness, чем быстрее пользователь получит данные (идеально - из браузерного кэша), тем меньше нагрузки будет на рендеринг в браузере и можно отдать пустое тело запроса от бэкэнда (fresh_when/stale в Rack) E-Tag, Last-Modified - весьма удобные инструменты, которые неожиданно перестали работать как раз после Nginx 1.3.3 :) > >> Кстати, до реализации SPDY все было точно так же (ETag не проксировался при >> Gzip)? > > Поддержка entity tags не имеет отношения к spdy, и появилась в > nginx 1.3.3. До этого nginx не знал про заголовок ETag и ничего с > ним не делал. > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru