Мне интересно, каково общее согласие для загрузки умеренно больших файлов. У меня есть веб-приложение, и каждый раз, когда пользователь загружает файл (обычно размером более 5 МБ), веб-сервер обычно зависает до завершения загрузки файла.
Вышеуказанное кажется нормальным, поскольку одна загрузка может занять один обработчик HTTP-запроса. Разработчики сети принимают это во внимание и либо:
а) Оплата дополнительных обработчиков HTTP
б) Используйте другой метод, чтобы преодолеть это с помощью AJAX или другого подхода
Я слышал, что для веб-приложений вполне нормально иметь несколько обработчиков HTTP-запросов для решения этой проблемы, что будет стоить немного дороже. С другой стороны, если стоимость является проблемой, то некоторые предлагают попробовать загрузить напрямую на веб-сервер или службу хранения (например, Amazon S3) напрямую через Flash + AJAX. Последний метод требует немного написания сценариев и немного грязный.
Мое второе беспокойство:
Используя ajax для загрузки файлов на сервер. Это все еще занимает целый обработчик HTTP-запроса? то есть сервер зависает до завершения загрузки?
Даже с flash мне все равно нужно указать URL для загрузки. URL будет одним из действий на моем контроллере. Что означало бы, что обработка все еще происходит на стороне сервера. Это правильно до сих пор?
Я думал. С другой стороны, если бы я использовал один из сценариев загрузки (plupload, uploadify, swfupload и т. Д.) Для загрузки непосредственно в Amazon S3, то обработка выполнялась бы на сервере S3 вместо локального веб-сервера. Который вообще не повесит веб-приложение. Я правильно это понимаю?
Хотелось бы услышать ваш отзыв.