431

Request Header Fields Too Large

Officiell
Förfrågningshuvudet är för stort

Allmän förklaring av statuskoden 431

HTTP-statuskoden 431 Request Header Fields Too Large signalerar att begäran från en klient har avvisats av servern på grund av att rubrikfälten i begäran är för stora. Detta kan hända om begäran innehåller en ovanligt stor mängd data i rubrikerna, till exempel på grund av överlånga cookies, autentiseringstoken eller andra metadata. Servern kan vanligtvis inte bearbeta denna mängd data eftersom den överskrider de gränser som den har definierat. Felet hör till kategorin klientfel (400-499), vilket innebär att klienten måste anpassa begäran innan den kan skicka den vidare. En möjlig lösning är att minska storleken på header-data, till exempel genom att ta bort onödiga cookies eller komprimera data. För utvecklare och administratörer är denna statuskod en bra indikation på att antingen förfrågningarna bör optimeras eller att serverkonfigurationen bör justeras för att undvika onödiga blockeringar. Även om felet ligger på klientsidan kan det ändå orsaka betydande störningar i kommunikationen mellan klient och server.

Specifikation av HTTP-statuskoden 431

Statuskoden 431 Request Header Fields Too Large anger att servern inte vill behandla begäran eftersom dess rubrikfält är för stora. Begäran KAN skickas in på nytt efter att ha minskat storleken på huvudfälten för begäran.

Den kan användas både när mängden huvudfält för begäran totalt sett är för stor och när ett enskilt huvudfält är felet. I det senare fallet SKA svarsrepresentationen ange vilket rubrikfält som var för stort.

Till exempel:


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

Svar med statuskoden 431 Request Header Fields Too Large FÅR INTE lagras av en cache.

Källa / Citat från: HTTP-statuskoden 431 Request Header Fields Too Large anges i avsnitt 5 i RFC6585.

Hur skickar man en 431-statuskod med PHP?

För att kasta HTTP-statuskoden 431 på en webbsida kan PHP-funktionen http_response_code användas. Syntaxen är följande: http_response_code(431) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testa HTTP-statuskoden 431

För att kunna visa HTTP-statuskoden (i det här fallet 431 Request Header Fields Too Large) och annan information på klientsidan måste utvecklingskonsolen öppnas med F12. Navigera sedan till fliken "Network" (nätverk). Nu kan sidan öppnas, webbplatsen (exempel index.php) ska vara synlig i fliken nätverk. Denna måste väljas och sedan måste avsnittet Herder väljas. Användaren kommer då att se följande resultat:

Statuskod 431 Request Header Fields Too Large
Översikt
URL: https://http-statuscode.com/errorCodeExample.php?code=431
Status: 431 Request Header Fields Too Large
Dessa: Network
IP-adress: XX.XX.XX.XX
Statuskod 431 Request Header Fields Too Large

Så här skapar du en egen felsida för statuskoden 431

Det är relativt enkelt att skapa en egen 431 Request Header Fields Too Large-felsida med både Apache- och NGINX-webbservrarna.

Apache Webserver

Webbservern "Apache" är en av de vanligaste webbservrarna på Internet. För att skapa en egen 431 Request Header Fields Too Large-felsida i "Apache" måste följande ändring göras i följande fil.

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

NGINX Webserver

I likhet med webbservern Apache används NGINX i stor utsträckning på Internet. För att skapa en egen 431 Request Header Fields Too Large-felsida i "NGINX" måste följande ändring göras i följande fil.

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

Webbläsarnas kompatibilitet med statuskoden 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

Konstanter i programmeringsspråk

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

Underhållande memes om HTTP-statuskoden 431

Författare: Tony Brüser
Författare: Tony Brüser

Tony Brüser är en entusiastisk webbutvecklare med en förkärlek för HTTP-statuskoder.

LinkedInGitHub