ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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


 




Copyright © Lexa Software, 1996-2009.