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