Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: proxy_cache & multipart/multiply requests
Hello Igor,
Извинте за на зойливость, но я хотел бы уточнить.
1.Правильно ли я понял, что в описаном мною случае, в реальности будет
качатся только первый запрос к файлу из всех 10 запросов. А все
остальные из-за того что range запрос убран качатся не будут. То есть
по сути nginx будет возвращать что не поддерживется дакачка ?
2. Если файл уже лежит в кеше, тогда nginx позволит его скачать в
несколько запросов ?
Спасибо!
Wednesday, May 20, 2009, 12:04:51 PM, you wrote:
> 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 и поэтому получает полной ответ. Клиенту
> при этом отдаются запрашиваемый кусок при получении от бэкенда.
> Когда ответ полностью получен, он попадает в кэш и потом отдаётся из кэша.
--
Best regards,
Aleksej
ICQ: 293-686-24
GSM:371-293-686-24
|