TrueURL

431 Request Header Fields Too Large

Serwer odrzuca żądanie, bo jego nagłówki są zbyt duże – zwykle dlatego, że przeglądarka wysyła zbyt wiele lub zbyt duże pliki cookie.

Opis słowny
Request Header Fields Too Large
Przekierowanie
Nie
Domyślne buforowanie
Nie

431 Request Header Fields Too Large (RFC 6585) oznacza, że serwer nie chce przetworzyć żądania, ponieważ pojedyncze pole nagłówka lub wszystkie nagłówki razem są zbyt duże. Klient może ponowić żądanie po zmniejszeniu rozmiaru nagłówków.

Najczęstszym winowajcą są pliki cookie: witryna i jej subdomeny ustawiają coraz więcej plików cookie, aż nagłówek Cookie przekroczy limit serwera. Przyczyną mogą być też bardzo długie adresy URL w nagłówku Referer lub duże tokeny uwierzytelniające. Node.js odpowiada na przykład kodem 431, gdy nagłówki przekraczają jego limit – programiści często trafiają na to na localhost, gdzie gromadzą się pliki cookie z wielu lokalnych projektów.

Nie każdy serwer używa kodu 431. nginx zwraca na przykład zamiast niego 400 Bad Request z komunikatem „Request Header Or Cookie Too Large”.

Przykładowa odpowiedź

HTTP
HTTP/1.1 431 Request Header Fields Too Large
Connection: close

SEO i sprawdzanie przekierowań

Roboty wysyłają małe nagłówki bez plików cookie, więc prawie nigdy nie wywołują błędu 431. Jeśli sprawdzanie przekierowań zwraca 431, zmniejsz rozmiar dodanych przez siebie własnych nagłówków lub plików cookie.

Typowe przyczyny i zastosowania

  • Nagromadzone pliki cookie domeny i jej subdomen. Usuń je albo ogranicz liczbę i rozmiar ustawianych plików cookie.
  • Duże tokeny JWT lub inne nagłówki autoryzacji.
  • Bardzo długie nagłówki Referer z adresów URL z ogromnymi ciągami zapytań.
  • Niski limit rozmiaru nagłówków na serwerze Node.js (--max-http-header-size), w serwerze proxy lub w load balancerze.

Sprawdzanie przekierowań URL

Zobacz wszystkie kody odpowiedzi, jakie zwraca adres URL, przeskok po przeskoku, w darmowym narzędziu TrueURL do sprawdzania przekierowań.