Slice cache

S.A.N nginx-forum на forum.nginx.org
Вт Апр 19 13:39:53 UTC 2016


Maxim Dounin Wrote:
-------------------------------------------------------
> Hello!
> 
> On Tue, Apr 19, 2016 at 03:24:37AM -0400, S.A.N wrote:
> 
> > > По умолчанию range-запросы из кеша работают только в том случае, 
> > > если в ответе бекенда был заголовок Accept-Ranges и должна быть 
> > > явно указана длина ответа.
> > 
> > Супер, спасибо, отдали Accept-Ranges все работает.
> > 
> > Кстати есть ли смысл бекенду сжимать (gzip) свой ответ, если клиенты
> > запрашивают кеш частично (Range)?
> > Я так понимаю что в этом случаи Nginx каждый раз надо разжимать
> большой
> > ответ, потом сжимать часть которые запросил клиент.
> 
> Я бы не стал.
> 
> Сжатие на лету исключает возможность использования range-запросов, 
> т.к. сжимается весь ответ целиком и результат сжатия может быть 
> разный в зависимости от временных факторов, а range-запросы должны 
> применяться к уже сжатому ответу.  Для range-запросов могло бы 
> работать сжатие на уровне передачи по http ("Transfer-Encoding: 
> gzip"), но оно практически нигде не поддерживается.
> 
> Можно пытаться детерминировано сжимать на бекенде, и 
> соответственно потом из кеша nginx будет раздавать сжатый файл с 
> учётом range-запросов, но разжимать это nginx не сможет, либо же 
> пропадёт возможность использовать range-запросы для расжатого 
> ответа (потому что нужна явно заданная длина, см. предыдущий 
> ответ, а длина при расжатии заранее неизвестна).
> 

Понял, спасибо.

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,266232,266257#msg-266257



Подробная информация о списке рассылки nginx-ru