Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Установка Content-Range в зависимости от Range (с подделанным Content-Length)
On Fri, Feb 08, 2013 at 11:56:59AM -0500, billgx wrote:
> Суть проблемы:
> Для воспроизведения браузером google chrome из тега <audio> файл формата ogg
> будет проигран только после полного получения. Если у посетителя интернет со
> скоростью 128kbps, то файл в 2 мб будет отдаваться достаточно долго.
> Но если файл будет очень большого размера, то google chrome делает
> проигрывание по мере загрузки файла (видимо это не баг, а специально сделано
> так).
>
> Задача:
> Обмануть google chrome с его хитрым алгоритмом.
> Казалось бы, поставив content-length большого размера решит проблему. Но
> google chrome <audio> перед проигрыванием файла делает запрос на проверку
> всего файла
>
> Заголовок запроса
> Range: bytes=2657723-2723029
>
> Заголовок ответа
> Content-Length: 2723030
> Content-Range: bytes 0-2723029/2723030
>
> (этот запрос хочет получить почти весь файл за исключением начала файла,
> после полученных 64 кб запрос отменяется, а браузер далее на слово верит,
> что файл существует целиком, т.е. посути не важно иметь весь контент)
>
> Такое происходит если файл действительно такого размера, но если "подсунуть"
> мелкий файл в 1 мб и сказать что он 2723030 bytes, то возникает ошибка
> HTTP/1.1 416 Requested Range Not Satisfiable (?запрашиваемый диапазон не
> достижим?)
>
>
> Вопрос:
> Как можно перекрыть эту ошибку, и начать отдавать контент?
> Такое вообще возможно?
"max_ranges 0;" и подсовывание "нужного" Content-Length не решит
проблему?
http://nginx.org/r/max_ranges/ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|