ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gzip и ETag



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@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.