Я недавно создал API, который позволяет загружать видео и аудио файлы, и он работал нормально, пока один клиент не загрузил большое видео, и я получил эту ошибку:
Не удалось прочитать форму запроса , Превышено ограничение длины тела в несколько частей 134217728.
Из многих сообщений очевидно, что философия, лежащая в основе ограничения размера запроса, заключается в уменьшении шансов DDoS-атаки. (Пожалуйста, исправьте меня, если я ошибаюсь).
Однако я сам загрузил большое видео и наблюдал за пропускной способностью как на своем локальном P C, так и на сервере. У меня есть VPS для этого приложения, и я могу наблюдать за пропускной способностью, используя вкладку «Диспетчер задач», выбрав Ethe rnet и увидев график отправки и получения.
Суть в том, что я видел высокий трафик c продолжалось несколько минут, когда я загружал файл, и затем я увидел эту ошибку. Это означает, что ресурсы сервера потребляются, даже когда ASP. NET Core отклоняет запрос.
Итак, я не понимаю эту часть. Как ASP. NET Ядро уменьшает вероятность DoS или DDoS-атак, ограничивая размер запроса, в то время как пропускная способность принимается в реальности? Логичным способом было бы отбросить запрос с самого начала для multipart/form-data
типов контента, если полезная нагрузка / тело запроса были слишком велики и даже не потребляли пропускную способность.