Как внутри IIS работает загрузка файлов HTTP?

I ' Я хочу понять, что происходит под капотом, когда вы выполняете загрузку через Интернет.

Я предполагаю один из следующих:

  1. Файл загружается в память браузером, отправляется в буферную память веб-сервера, а затем приложение получает уведомление о его сборе.
  2. Файл читается браузером и в то же время отправляется на веб-сервер, который может начать постепенно сохранять байты.

Я попытался загрузить очень большой файл и установите точку останова в первой строке метода, получающего загрузку. Я видел, как браузер загружает много времени ... но точка останова все еще не сработала, и через некоторое время точка останова сработала.

Я хочу понять это, потому что в худшем сценарии, если я допускают большие загрузки, они могут в какой-то момент взорвать память сервера.

Что произойдет, если я закачу файл размером 2 ГБ? (учитывая, что веб-сервер / приложение принимает такую ​​длину), потребуется ли 2 ГБ памяти сервера?

Ура.

8
задан Paul Turner 4 February 2011 в 13:57
поделиться