ПРОЕКТЫ 


  АРХИВ 


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]

Re: proxy_cache & multipart/multiply requests



On Wed, May 20, 2009 at 01:21:23AM +0300, Aleksej Novikov wrote:

> Уважаемый, Игорь!
> 
> Подскажите пожалуйста как поведёт себя модуль proxy_cache  в следующей
> ситуации.
> 
> От  клиента  приходит  запрос  на  проксированный  локейшн  нжинкса на
> скачивание файла. При это запрос приходит на скачивание файла кусками,
> так  как  это  делают  программы  качалки,  разбивая файл на несколько
> частей. Понятное дело что УРЛ один и тот-же.
> 
> Предположим что пришли запросы на скачку файла разбитого на 10 частей,
> все они передались на проксированный локейшн и началось скачиване.
> 
> В  этот  момент, от другого пользователя приходит запрос на скачивание
> этого же файла, но разбитого на 5 частей.
> 
> Будет  ли  уже  скачанная и закешированная нжинксом часть данного фала
> отдана  из  кеша  или будет сделан новый запрос на бекенд и файл будет
> тянутс с бекенда паралелно для двух пользователей в 10+5=15 потоков.
> 
> И  второй  случай.  Первый пользователь начал качать в 10 потоков, и в
> этот момент коннект оборвался, и он перезапросил скачивание каждой из
> 10  частей  с той позиции где это оборвалось. Будут ли сделаны запросы
> на  бекенд  с  текущей  запрошенной позиции и по окончани скачивания в
> кеше  нжинкса  будет  лежать  целый  запрошенный с бекенда файл или же
> будет произведена перекачка всего файла с бекенда целиком.

Если ответ может быть закэширован, то nginx убирает из запроса бэкенду
заголовки Range и If-Range и поэтому получает полной ответ. Клиенту
при этом отдаются запрашиваемый кусок при получении от бэкенда.
Когда ответ полностью получен, он попадает в кэш и потом отдаётся из кэша.


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.