431
Request Header Fields Too Large
Generel forklaring af 431-statuskoden
HTTP-statuskoden 431 Request Header Fields Too Large signalerer, at anmodningen fra en klient er blevet afvist af serveren, fordi headerfelterne i anmodningen er for store. Dette kan ske, hvis anmodningen indeholder en usædvanlig stor mængde data i overskrifterne, f.eks. på grund af for lange cookies, godkendelsestokens eller andre metadata. Serveren er normalt ikke i stand til at behandle denne mængde data, da den overskrider de grænser, den har defineret. Fejlen hører til kategorien af klientfejl (400-499), som indikerer, at klienten skal tilpasse anmodningen, før den kan sende den igen. En mulig løsning er at reducere størrelsen på headerdataene, f.eks. ved at slette unødvendige cookies eller komprimere dataene. For udviklere og administratorer er denne statuskode en nyttig indikation af, at anmodningerne enten skal optimeres, eller at serverkonfigurationen skal justeres for at undgå unødvendige blokeringer. Selvom fejlen er på klientsiden, kan den stadig forstyrre kommunikationen mellem klienten og serveren betydeligt.
Specifikation af HTTP-statuskode 431
Statuskoden 431 Request Header Fields Too Large angiver, at serveren ikke er villig til at behandle anmodningen, fordi dens headerfelter er for store. Anmodningen KAN indsendes igen efter at have reduceret størrelsen af anmodningshovedfelterne.
Det kan bruges både, når sættet af anmodningshovedfelter i alt er for stort, og når et enkelt hovedfelt er skyld i fejlen. I sidstnævnte tilfælde SKAL svarrepræsentationen angive, hvilket headerfelt der var for stort.
For eksempel:
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 MÅ IKKE gemmes af en cache.
Kilde / citat fra: HTTP-statuskoden 431 Request Header Fields Too Large er specificeret i afsnit 5 i RFC6585.
HTTP-protokol
Hvordan får man en 431-statuskode med PHP?
Hvis du vil have HTTP-statuskoden 431 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(431) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Test 431 HTTP-statuskoden
For at kunne vise HTTP-statuskoden (i dette tilfælde 431 Request Header Fields Too Large) og andre oplysninger på klientsiden skal udviklingskonsollen åbnes med F12. Naviger derefter til fanen "Network" (netværk). Nu kan siden åbnes, hjemmesiden (eksempel index.php) skal være synlig i fanen netværk. Denne skal vælges, og derefter skal Herder-sektionen vælges. Brugeren vil derefter se følgende resultat:
URL: https://http-statuscode.com/errorCodeExample.php?code=431
Status: 431 Request Header Fields Too Large
Disse: Network
IP-adresse: XX.XX.XX.XX
Sådan opretter du din egen fejlside for statuskode 431
Apache Webserver
Webserveren "Apache" er en af de mest almindelige webservere på internettet. For at oprette din egen 431 Request Header Fields Too Large-fejlside i "Apache" skal du foretage følgende ændring i følgende fil.
NGINX Webserver
I lighed med webserveren "Apache" er "NGINX" også meget udbredt på internettet. For at oprette din egen 431 Request Header Fields Too Large-fejlside i "NGINX" skal du foretage følgende ændring i følgende fil.
location = /431.html {
root /usr/share/nginx/html;
internal;
}
Browserkompatibilitet for 431-statuskoden
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 programmeringssprog
HttpStatusCode.RequestHeaderFieldsTooLarge
http.StatusRequestHeaderFieldsTooLarge
Response::HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
:request_header_fields_too_large