Если вы получаете 400 Bad Request
с ≈25 строками относительно коротких строк, то наиболее вероятное объяснение состоит в том, что ваш JavaScript отправляет эти данные с помощью GET
запроса, таким образом нажимая пределы длины строки запроса.
Хотя стандарт HTTP на самом деле не определяет ограничение длины запроса , большинство серверов имеют ограничения по умолчанию для различных методов.
Для Inte rnet Информационный сервер (IIS), например, это:
- URL: 4096 байт (4 КБ)
- Строка запроса (
GET
) : 2048 байт (2 КБ) - Контент (
POST
): 30 000 000 байт (≈28,6 МБ)
Если вы оказались хостингом Ваше ASP. NET Базовое приложение на IIS, и у вас установлена функция Фильтрация запросов ( инструкции ), эти ограничения можно изменить в файле web.config
( ссылка ):
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxUrl="2048" maxQueryString="1024" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
Примечание: Возможно, также необходимо изменить это значение в реестре .
Тем не менее, предпочтительное решение *1049* состоит в том, чтобы изменить способ отправки этих данных. Как вы можете видеть, вы можете POST
почти 30 МБ данных без изменения конфигурации по умолчанию, что, я думаю, будет более чем достаточно для ваших нужд.
Очевидно, что для этого необходимо изменить оба JavaScript (на использовать метод HTTP POST
) и, возможно, ваше ASP. NET базовое приложение (чтобы оно принимало [HttpPost]
запрос).
Примечание: Примечание Точные ограничения зависят от программного обеспечения веб-сервера. Но они, как правило, в пределах этого приблизительного.