On May 8, 2013, at 11:18 AM, Anatoly Mikhailov <anat...@sonru.com> wrote:
> > 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 и ничего с >> ним не делал. Максим, а есть возможность сказать nginx, чтобы он забыл про ETag и опять с ним ничего не делал (отдавал в backend как и до 1.3.3)? >> >> -- >> 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 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru