431
Request Header Fields Too Large
Obecné vysvětlení stavového kódu 431
Stavový kód HTTP 431 Request Header Fields Too Large signalizuje, že server odmítl požadavek klienta, protože pole hlavičky požadavku jsou příliš velká. K tomu může dojít, pokud požadavek obsahuje neobvykle velké množství dat v hlavičkách, například kvůli příliš dlouhým souborům cookie, ověřovacím tokenům nebo jiným metadatům. Server obvykle není schopen takové množství dat zpracovat, protože překračuje jím definované limity. Chyba patří do kategorie chyb klienta (400-499), což znamená, že klient musí požadavek upravit, než jej bude moci znovu odeslat. Jedním z možných řešení je zmenšit velikost dat v hlavičce, například odstraněním nepotřebných souborů cookie nebo komprimací dat. Pro vývojáře a správce je tento stavový kód užitečnou indikací, že je třeba buď optimalizovat požadavky, nebo upravit konfiguraci serveru, aby nedocházelo ke zbytečnému blokování. Chyba je sice na straně klienta, ale i tak může výrazně narušit komunikaci mezi klientem a serverem.
Specifikace stavového kódu HTTP 431
Stavový kód 431 Request Header Fields Too Large znamená, že server není ochoten požadavek zpracovat, protože pole jeho hlavičky jsou příliš velká. Požadavek MŮŽE být znovu odeslán po zmenšení velikosti polí hlavičky požadavku.
Může být použit jak v případě, že sada polí hlavičky požadavku je celkově příliš velká, tak v případě, že je na závadu jediné pole hlavičky. V druhém případě by mělo být v reprezentaci odpovědi uvedeno, které pole hlavičky bylo příliš velké.
Například:
HTTP/1.1 431 Request Header Fields Too Large Pole hlavičky požadavku příliš velká
Content-Type: text/html
Odpovědi se stavovým kódem 431 Request Header Fields Too Large NESMÍ být uloženy do mezipaměti.
Zdroj / Citace z: Stavový kód 431 Request Header Fields Too Large HTTP je specifikován v oddílu 5 oddílu RFC6585.
Protokol HTTP
Jak vyhodit stavový kód 431 pomocí PHP?
Pro zobrazení stavového kódu HTTP 431 na webové stránce lze použít funkci PHP http_response_code. Syntaxe je následující: http_response_code(431) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testování stavového kódu HTTP 431
Aby bylo možné zobrazit stavový kód HTTP (v tomto případě 431 Request Header Fields Too Large) a další informace na straně klienta, je třeba otevřít vývojovou konzolu pomocí klávesy F12. Poté přejděte na kartu "Síť". Nyní lze stránku otevřít, webová stránka (příklad index.php) by měla být viditelná na kartě sítě. Ta musí být vybrána a poté musí být vybrána sekce Herder. Uživatel pak uvidí následující výsledek:
URL: https://http-statuscode.com/errorCodeExample.php?code=431
Stav: 431 Request Header Fields Too Large
Tyto stránky: Network
IP adresa: XX.XX.XX.XX
Jak vytvořit vlastní chybovou stránku pro stavový kód 431
Apache Webserver
Webový server Apache je jedním z nejběžnějších webových serverů na internetu. Chcete-li vytvořit vlastní chybovou stránku 431 Request Header Fields Too Large v serveru "Apache", je třeba provést následující změnu v následujícím souboru.
NGINX Webserver
Podobně jako webový server Apache se na internetu hojně používá i NGINX. Chcete-li vytvořit vlastní chybovou stránku 431 Request Header Fields Too Large v serveru "NGINX", je třeba provést následující změnu v následujícím souboru.
location = /431.html {
root /usr/share/nginx/html;
internal;
}
Kompatibilita stavového kódu 431 s prohlížeči
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 |
Konstanty v programovacích jazycích
HttpStatusCode.RequestHeaderFieldsTooLarge
http.StatusRequestHeaderFieldsTooLarge
Response::HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE
:request_header_fields_too_large