Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Установка Content-Range в зависимости от Range (с подделанным Content-Length)
- To: nginx-ru@xxxxxxxxx
- Subject: Установка Content-Range в зависимости от Range (с подделанным Content-Length)
- From: "billgx" <nginx-forum@xxxxxxxx>
- Date: Fri, 08 Feb 2013 11:56:59 -0500
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=E+ryJLIfW3UyFyU38XUxuQGUIwioLsi2tVrqMwd08Fc=; b=q/jhfBBdi815vwGo671vsSrywJtPwPdvzIxXE4nTEVoXL20ymEJg/ee4R+df91oUl5noKoilsMn2bHnssKZacawLN7o4Jb9Eua4+1pNMECFfnma+tkKg/og0U9kzgJbi;
Суть проблемы:
Для воспроизведения браузером 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 (?запрашиваемый диапазон не
достижим?)
Вопрос:
Как можно перекрыть эту ошибку, и начать отдавать контент?
Такое вообще возможно?
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,236024,236024#msg-236024
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|