431 Request Header Fields Too Large

Nagłówki są za duże.

Kiedy go używać

Zwykle winne są zbyt duże pliki cookie.

Typowe przyczyny i rozwiązania

Nagłówki są za duże, a winne są prawie zawsze pliki cookie: sterty śledzących plików cookie, sesja przechowywana po stronie klienta albo JWT z wieloma claimami trzymany w pliku cookie. Na localhost gromadzą się pliki cookie z każdej aplikacji, jaką kiedykolwiek uruchomiłeś, bo pliki cookie ignorują port. Wyczyszczenie plików cookie witryny zwykle od razu rozwiązuje problem, co przy okazji potwierdza diagnozę.

Node.js zwraca 431, gdy nagłówki przekraczają 16 KB, co często daje się we znaki serwerom deweloperskim, takim jak Vite i Next.js; --max-http-header-size podnosi ten limit. nginx i Apache odpowiadają na ten sam problem kodem 400. Prawdziwym rozwiązaniem są mniejsze nagłówki: trzymaj w pliku cookie tylko ID sesji, zawężaj zasięg plików cookie wąskimi wartościami Path i Domain i usuwaj nieaktualne.

Błąd klienta (4xx)

Kody 4xx to błędy klienta: samo żądanie jest błędne, nieautoryzowane albo wskazuje na coś, czego nie ma. Ponowienie tego samego żądania nic nie da.

Jak to wygląda

HTTP/1.1 431 Request Header Fields Too Large

Jak go wysłać

Node.js / Expressres.status(431).end()
Python / Flaskreturn '', 431
nginxreturn 431;

Jak go sprawdzić

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Otwórz narzędzie Kody statusu HTTP