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