Я могу настроить пользовательские страницы ошибок для ошибок на уровне приложения с помощью customErrors, а также ошибок HTTP с помощью httpErrors. Но ни один из них не обрабатывает ошибку HTTP 414.
Я прошел ответ на Эта статья но я не уверен, достаточно ли я исследовал, чтобы обработать для этого настраиваемую страницу ошибок.
Поскольку 414 URI Too Long
(RFC 7231 6.5.12) - ошибка, вызванная неправильным форматом /path?query
часть URI в самой первой строке HTTP-запроса, сервер никогда не видит никаких других заголовков, включая Host:
заголовок второй строки: он уже отвечает сразу после получения слишком длинного URI, например
--> GET /imagine/this/was/a/.../too.long?request=url HTTP/1.1
<-- HTTP/1.1 414 Request-URI Too Long
<-- Content-Type: text/html; charset=us-ascii
<-- Server: Microsoft-HTTPAPI/2.0
Поэтому естественно, что настроить пользовательский 414
страниц на сайте на любом веб-сервере.
Я думал, что это будет возможно на сервере IIS с использованием глобального IIS> Страницы ошибок, но на основании теста кажется, что 414
ошибка исправлена и не может быть изменена вообще. Единственная исходная статья, которую я смог найти, была из устаревшего содержимого базы знаний Microsoft, Сообщение об ошибке: HTTP 414 - запрос - слишком длинный URI:
IIS проверяет длину строки URI и не обслуживает запрос, если URI длиннее ожидаемого. Это сделано намеренно.
Однако это состояние должно быть редким, так как его можно легко предотвратить, если:
POST
вместо того GET
всякий раз, когда данные запроса могут быть длиннее, чем 2000 символов.С этими принципами пользователь никогда не увидит страницу, а удобочитаемые пользовательские страницы ошибок предназначены только для пользователей: любое программное обеспечение может использовать код ошибки из самой первой строки заголовка ответа.