431

Request Header Fields Too Large

Hivatalos
A kérés fejléc túl nagy

Általános magyarázat a 431 státuszkódra

A 431 Request Header Fields Too Large-es HTTP státuszkód azt jelzi, hogy az ügyfél kérését a kiszolgáló elutasította, mert a kérés fejléc mezői túl nagyok. Ez akkor fordulhat elő, ha a kérés szokatlanul nagy mennyiségű adatot tartalmaz a fejlécekben, például túl hosszú cookie-k, hitelesítési tokenek vagy más metaadatok miatt. A kiszolgáló általában nem képes feldolgozni ezt az adatmennyiséget, mivel az meghaladja az általa meghatározott korlátokat. A hiba a kliens hibák (400-499) kategóriájába tartozik, ami azt jelzi, hogy a kliensnek át kell alakítania a kérést, mielőtt újra elküldheti azt. Az egyik lehetséges megoldás a fejlécadatok méretének csökkentése, például a felesleges cookie-k törlésével vagy az adatok tömörítésével. A fejlesztők és a rendszergazdák számára ez az állapotkód hasznos jelzés arra, hogy vagy a kéréseket kell optimalizálni, vagy a kiszolgáló konfigurációját kell módosítani a felesleges blokkolás elkerülése érdekében. Bár a hiba az ügyfél oldalán jelentkezik, mégis jelentősen megzavarhatja az ügyfél és a kiszolgáló közötti kommunikációt.

A 431-es HTTP státuszkód megadása

A 431 Request Header Fields Too Large-es állapotkód azt jelzi, hogy a kiszolgáló nem hajlandó feldolgozni a kérést, mert a fejléc mezői túl nagyok. A kérés a kérés fejléc mezőinek méretének csökkentése után újra elküldhető.

Ez akkor is használható, ha a kérés fejléc mezőinek összessége túl nagy, és akkor is, ha egyetlen fejléc mező a hibás. Az utóbbi esetben a válasz reprezentációjában KELL megadni, hogy melyik fejlécmező volt túl nagy.

Példa:


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

A 431 Request Header Fields Too Large-es státuszkódú válaszokat NEM szabad tárolni a gyorsítótárban.

Nem szabad a gyorsítótárban tárolni.

Forrás / Idézet: A 431 Request Header Fields Too Large HTTP státuszkódot a 5 szakasz RFC6585 szakasza határozza meg.

Hogyan dobhatok 431 státuszkódot PHP-vel?

A 431-es HTTP státuszkódot egy weboldalon a PHP http_response_code függvényével adhatjuk meg. A szintaxis a következő: http_response_code(431) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

A 431 HTTP státuszkód tesztelése

Ahhoz, hogy a HTTP státuszkódot (ebben az esetben 431 Request Header Fields Too Large) és egyéb információkat meg tudjon jeleníteni az ügyféloldalon, a fejlesztői konzolt az F12 billentyűvel kell megnyitni. Ezután navigáljon a "Hálózat" fülre. Most már megnyitható az oldal, a weboldalnak (példa index.php) láthatónak kell lennie a hálózat fülön. Ezt ki kell választani, majd a Herder szekciót kell kiválasztani. A felhasználó ezután a következő eredményt fogja látni:

Állapot kód 431 Request Header Fields Too Large
Áttekintés
URL: https://http-statuscode.com/errorCodeExample.php?code=431
Állapot: 431 Request Header Fields Too Large
Azok: Network
IP-cím: XX.XX.XX.XX
Állapot kód 431 Request Header Fields Too Large

Hogyan hozzon létre saját hibaoldalt a 431-es státuszkódhoz?

Saját 431 Request Header Fields Too Large-es hibaoldal létrehozása viszonylag egyszerű mind az "Apache", mind az "NGINX" webszerverek esetében.

Apache Webserver

Az "Apache" webszerver az egyik legelterjedtebb webszerver az interneten. A saját 431 Request Header Fields Too Large-es hibaoldal létrehozásához az "Apache"-ban a következő változtatást kell elvégezni a következő fájlban.

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

NGINX Webserver

Az "Apache" webszerverhez hasonlóan az "NGINX" is széles körben használatos az interneten. A saját 431 Request Header Fields Too Large-es hibaoldal létrehozásához az "NGINX"-ben a következő változtatást kell elvégezni az alábbi fájlban.

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

A 431 státuszkód böngésző kompatibilitása

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

Állandók a programozási nyelvekben

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

Szórakoztató mémek a 431-es HTTP státuszkódról

Szerző: Tony Brüser
Szerző: Tony Brüser

Tony Brüser lelkes webfejlesztő, aki előszeretettel használja a HTTP státuszkódokat.

LinkedInGitHub