431

Request Header Fields Too Large

Offiziell
Die Anfragekopfzeile ist zu groß

Allgemeine Erklärung des 431-Statuscodes

Der HTTP-Statuscode 431 Request Header Fields Too Large signalisiert, dass die Anfrage eines Clients vom Server abgelehnt wurde, da die Headerfelder der Anfrage zu groß sind. Dies kann passieren, wenn die Anfrage eine außergewöhnlich große Menge an Daten in den Headern enthält, beispielsweise durch überlange Cookies, Authentifizierungstokens oder andere Metadaten. Der Server ist in der Regel nicht in der Lage, diese Datenmenge zu verarbeiten, da sie die von ihm definierten Grenzen überschreitet. Der Fehler gehört zur Kategorie der Clientfehler (400-499), was darauf hinweist, dass der Client die Anfrage anpassen muss, bevor er sie erneut senden kann. Eine mögliche Lösung besteht darin, die Größe der Headerdaten zu reduzieren, etwa durch das Löschen unnötiger Cookies oder das Komprimieren der Daten. Für Entwickler und Administratoren ist dieser Statuscode ein hilfreicher Hinweis darauf, dass entweder die Anfragen optimiert oder die Serverkonfiguration angepasst werden sollte, um unnötige Blockierungen zu vermeiden. Obwohl der Fehler auf Clientseite liegt, kann er dennoch die Kommunikation zwischen Client und Server erheblich stören.

Spezifikation von dem HTTP statuscode 431

Der Statuscode 431 Request Header Fields Too Large zeigt an, dass der Server nicht bereit ist, die Anfrage zu bearbeiten, weil ihre Header-Felder zu groß sind. Die Anfrage KANN erneut übermittelt werden, nachdem die Größe der Anfrage-Header-Felder reduziert wurde.

Dieser Status kann sowohl verwendet werden, wenn der Satz der Anfrage-Header-Felder insgesamt zu groß ist, als auch, wenn ein einzelnes Header-Feld fehlerhaft ist. Im letzteren Fall MUSS in der Antwortdarstellung angegeben werden, welches Header-Feld zu groß war.

Beispiel:


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

Antworten mit dem Statuscode 431 Request Header Fields Too Large MÜSSEN NICHT in einem Cache gespeichert werden.

Quelle / Zitat von: Spezifiziert wird der 431 Request Header Fields Too Large HTTP Status Code durch Abschnitt 5 von RFC6585

Wie kann man mit PHP einen 431-Statuscode werfen?

Um auf einer Webseite den HTTP Status Code 431 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(431) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste den 431 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 431 Request Header Fields Too Large) und weitere Informationen clientseitig anzeigen zu können, muss die Entwicklungskonsole mit F12 geöffnet werden. Im Anschluss muss zu der Karteikarte "Netzwerk" navigiert werden. Jetzt kann die Seite geöffnet werden, im Netzwerktab sollte die Webseite (Beispiel index.php) zu sehen sein. Diese muss ausgewählt werden und im Anschluss der Bereich Herder gewählt werden. Hier sieht der Nutzer dann folgendes Ergebnis:

Statuscode 431 Request Header Fields Too Large
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=431
Status: 431 Request Header Fields Too Large
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 431 Request Header Fields Too Large

Wie erstellt man eine eigene Fehlerseite für den Statuscode 431

Eine eigene 431 Request Header Fields Too Large Fehlerseite zu erstellen ist sowohl mit dem Webserver "Apache" als auch mit dem Webserver "NGINX", relativ leicht.

Apache Webserver

Der Webserver "Apache" gilt zu den meist verbreitetsten Webservern im Internet. Um einen eigene 431 Request Header Fields Too Large Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

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

NGINX Webserver

Ähnlich wie der Webserver "Apache" ist auch "NGINX" im Internet weit verbreitet. Um einen eigene 431 Request Header Fields Too Large Fehlerseite in "NGINX" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

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

Browser-Kompatibilität des 431 Statuscode

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

Konstanten in Programmiersprachen

HttpStatusCode.RequestHeaderFieldsTooLarge
http.StatusRequestHeaderFieldsTooLarge
Response::HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
:request_header_fields_too_large
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser ist ein begeisterter Webentwickler mit einer Vorliebe für HTTP Statuscodes.

LinkedInGitHub