Welcome! Log In Create A New Profile

Advanced

Re: proxy_cache и range запросы

January 22, 2013 07:42AM
Приветствую.


2013/1/22 Maxim Dounin <mdounin@mdounin.ru>

> Hello!
>
> On Tue, Jan 22, 2013 at 02:38:53AM +0600, Danila Shtan wrote:
>
> > Приветствую.
> >
> > 1) Для proxy_cache и range есть небольшой патч от Maxim Dounin (
> > http://forum.nginx.org/read.php?2,225815,225826#msg-225826) который
> > насколько я понимаю не внесен в основную ветку разработки (из-за проблем
> > при max_ranges >1), но в случае применения его решает проблему получения
> > 200 OK при первом запросе к бэкенду и заполнении кэша. Может быть имеет
> > смысл включить такое поведение по умолчанию при max_ranges 1;? Многие
> > современные браузеры в части воспроизведения HTML5 видео сурово завязаны
> на
> > 206 и правильный Range в ответ на свои запросы, мне кажется, что было бы
> > неплохо учесть существующие реалии.
>
> Может быть.
>
> Опыт использования патча в production имеется? Если да - хотелось
> бы услышать отзывы.
>

По вышепомянутой ссылке человек, кажется, доволен.
Мы свою сборку с патчем и 3rd-party модулями выкатываем завтра — через
неделю буду готов поделиться впечатлениями.


> > 2) nginx ни за что не отдаст 206 ответ при запросе c Range к
> > закэшированному файлу, если в оригинальном ответе бэкенда не было
> заголовка
> > Accept-Ranges. Поведение мягко говоря не очевидное, стоило мне нескольких
> > часов попыток понять, что происходит. RFC говорит, что заголовок
> совершенно
> > опциональный, более того, если nginx уже получил полное тело файла, имеет
> > Content-Length ответа и пр. — еще более непонятно, что мешает ему
> отдавать
> > ожидаемые клиентом 206.
>
> В самом nginx'е допустимость byte-range-запросов однозначно
> приводит к появлению заголовка Accept-Ranges (а отсутствие оной
> поддержки - приводит к его отсутствию), и AFAIK в большинстве
> других серверов так же. Такое поведение - позволяет максимально
> полно дублировать поведение исходного сервера, допуская range'и
> только там, где бекенд их поддерживает.
>

Там где бэкенд их не поддерживает ему, вероятно, стоит сказать
Accept-Ranges: none
Проблема в том, что эта особенность сервера не описана вообще нигде. :)

Наверное, теперь, когда есть директива max_ranges, и не желающие
> поддержки range'ей могут от неё отказаться явно, это поведение
> стоит пересмотреть.
>

По-моему это хорошая идея.

Д.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

proxy_cache и range запросы

ramm January 21, 2013 03:40PM

Re: proxy_cache и range запросы

Maxim Dounin January 22, 2013 07:08AM

Re: proxy_cache и range запросы

ramm January 22, 2013 07:42AM

Re: proxy_cache и range запросы

ramm February 08, 2013 01:56AM

Re: proxy_cache и range запросы

Maxim Dounin February 08, 2013 05:30AM

Re: proxy_cache и range запросы

Gena Makhomed February 08, 2013 05:56AM

Re: proxy_cache и range запросы

ramm February 08, 2013 06:16AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 107
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready