HTTP 431 — Request Header Fields Too Large
4xx Client Error
What it means
The headers exceed the server's limit, usually because of oversized cookies.
What to do about it
Clear cookies for the domain, or stop storing large blobs in them. A JWT in a cookie is a common cause.
Where it sits
431 belongs to the 4xx family: The request contains something the server will not or cannot process. The fix is normally on the client side.
HTTP/1.1 431 Request Header Fields Too Large
Checking it yourself
# see the status code and headers only
curl -sI https://example.com/path
# follow redirects and print each hop
curl -sIL -o /dev/null -w "%{http_code} %{url_effective}\n" https://example.com/path
# JavaScript
const r = await fetch(url);
console.log(r.status, r.statusText);
How this code behaves
| Cacheable by default | No — caches must not store this response unless explicit cache headers permit it. |
| Safe to retry | No. Retrying an identical request will produce the same result — the request itself must change. |
| Effect on search indexing | No direct effect. |
Returning 431 correctly
# nginx
return 431;
# Express
res.status(431).json({ error: 'Request Header Fields Too Large' });
# Go
w.WriteHeader(431)
# Python (Flask)
return jsonify(error='Request Header Fields Too Large'), 431;
Frequently asked questions
What does HTTP 431 mean?
The headers exceed the server's limit, usually because of oversized cookies.
How do I fix a 431 error?
Clear cookies for the domain, or stop storing large blobs in them. A JWT in a cookie is a common cause.
Is 431 a client or server problem?
A client problem by definition — the request needs to change. That said, a 4xx can still be the server’s fault if it is misconfigured and rejecting valid requests.