Slice cache
Maxim Dounin
mdounin на mdounin.ru
Вт Апр 19 13:28:30 UTC 2016
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-запросы для расжатого
ответа (потому что нужна явно заданная длина, см. предыдущий
ответ, а длина при расжатии заранее неизвестна).
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru