431
Request Header Fields Too Large
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
HTTP-Protokoll
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:
URL: https://http-statuscode.com/errorCodeExample.php?code=431
Status: 431 Request Header Fields Too Large
Diese: Network
IP-Adresse: XX.XX.XX.XX
Wie erstellt man eine eigene Fehlerseite für den Statuscode 431
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.
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.
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