431

Request Header Fields Too Large

Официальный сайт
Заголовок запроса слишком большой

Общее объяснение кода состояния 431

Код состояния HTTP 431 Request Header Fields Too Large сигнализирует о том, что запрос от клиента был отклонен сервером из-за слишком больших полей заголовка запроса. Это может произойти, если запрос содержит необычно большой объем данных в заголовках, например, из-за слишком длинных файлов cookie, маркеров аутентификации или других метаданных. Сервер обычно не может обработать такой объем данных, поскольку он превышает установленные им ограничения. Ошибка относится к категории клиентских ошибок (400-499), что указывает на необходимость адаптации запроса клиентом, прежде чем он сможет отправить его повторно. Одним из возможных решений является уменьшение размера данных заголовка, например, путем удаления ненужных файлов cookie или сжатия данных. Для разработчиков и администраторов этот код состояния является полезным указанием на то, что либо запросы должны быть оптимизированы, либо конфигурация сервера должна быть скорректирована, чтобы избежать ненужной блокировки. Хотя ошибка возникает на стороне клиента, она все равно может существенно нарушить связь между клиентом и сервером.

Спецификация кода состояния HTTP 431

Код состояния 431 Request Header Fields Too Large указывает на то, что сервер не хочет обрабатывать запрос из-за слишком больших полей заголовка. Запрос МОЖЕТ быть отправлен повторно после уменьшения размера полей заголовка запроса.

Это может использоваться как в случае, когда набор полей заголовка запроса в целом слишком велик, так и когда виновато одно поле заголовка. В последнем случае в представлении ответа ДОЛЖНО быть указано, какое поле заголовка оказалось слишком большим.

Например:


HTTP/1.1 431 Request Header Fields Too Large Request Header Fields Too Large
Content-Type: text/html

Ответы с кодом состояния 431 Request Header Fields Too Large НЕ ДОЛЖНЫ храниться в кэше.

Источник / Цитаты из: Код состояния HTTP 431 Request Header Fields Too Large определен разделом 5 из RFC6585.

Как вывести код состояния 431 с помощью PHP?

Чтобы бросить на веб-страницу код статуса HTTP 431, можно использовать PHP-функцию http_response_code. Синтаксис выглядит следующим образом: http_response_code(431) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Проверка кода состояния 431 HTTP

Чтобы иметь возможность отображать код состояния HTTP (в данном случае 431 Request Header Fields Too Large) и другую информацию на стороне клиента, необходимо открыть консоль разработки с помощью F12. Затем перейдите на вкладку "Сеть". Теперь можно открыть страницу, сайт (пример index.php) должен быть виден на вкладке "Сеть". Его необходимо выбрать, а затем выбрать раздел Herder. После этого пользователь увидит следующий результат:

Код состояния 431 Request Header Fields Too Large
Обзор
URL: https://http-statuscode.com/errorCodeExample.php?code=431
Статус: 431 Request Header Fields Too Large
Эти: Network
IP-адрес: XX.XX.XX.XX
Код состояния 431 Request Header Fields Too Large

Как создать собственную страницу ошибок для кода состояния 431

Создать собственную страницу ошибки 431 Request Header Fields Too Large относительно просто как на веб-серверах "Apache", так и на "NGINX".

Apache Webserver

Веб-сервер "Apache" является одним из самых распространенных веб-серверов в Интернете. Чтобы создать собственную страницу ошибки 431 Request Header Fields Too Large в "Apache", необходимо внести следующее изменение в следующий файл.

File: .htaccess
ErrorDocument 431 /errors/431.html

NGINX Webserver

Подобно веб-серверу "Apache", "NGINX" также широко используется в Интернете. Чтобы создать собственную страницу ошибки 431 Request Header Fields Too Large в "NGINX", необходимо внести следующее изменение в следующий файл.

File: sites-enabled/default
error_page 431 /431.html;
location = /431.html {
    root /usr/share/nginx/html;
    internal;
}

Совместимость кода состояния 431 с браузерами

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Константы в языках программирования

HttpStatusCode.RequestHeaderFieldsTooLarge
http.StatusRequestHeaderFieldsTooLarge
Response::HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
:request_header_fields_too_large

Внешние ссылки с дополнительной информацией о коде состояния HTTP 431:

Развлекательные мемы о коде статуса HTTP 431

Автор: Tony Brüser
Автор: Tony Brüser

Тони Брюсер - увлеченный веб-разработчик, склонный к изучению кодов состояния HTTP.

LinkedInGitHub