431 Request Header Fields Too Large (RFC 6585) bedeutet, dass der Server die Anfrage nicht verarbeiten will, weil ein einzelnes Header-Feld oder alle zusammen zu groß sind. Der Client kann es erneut versuchen, nachdem er die Header verkleinert hat.
Der übliche Übeltäter sind Cookies: Eine Website und ihre Subdomains setzen immer mehr Cookies, bis der Cookie-Header das Limit des Servers überschreitet. Auch sehr lange Referer-URLs und große Authentifizierungs-Tokens können die Ursache sein. Node.js zum Beispiel antwortet mit 431, wenn die Header sein Limit überschreiten. Entwickler stoßen darauf oft unter localhost, wo sich die Cookies vieler lokaler Projekte ansammeln.
Nicht jeder Server verwendet 431. So liefert nginx stattdessen 400 Bad Request mit „Request Header Or Cookie Too Large“.
Beispielantwort
HTTP/1.1 431 Request Header Fields Too Large
Connection: close SEO und Weiterleitungsprüfung
Crawler senden kleine Header ohne Cookies und lösen 431 daher fast nie aus. Liefert eine Weiterleitungsprüfung 431, verkleinern Sie die benutzerdefinierten Header oder Cookies, die Sie hinzugefügt haben.
Häufige Ursachen und Einsatzzwecke
- Für eine Domain und ihre Subdomains haben sich Cookies angesammelt. Löschen Sie sie, oder setzen Sie weniger und kleinere Cookies.
- Große JWTs oder andere Authorization-Header.
- Sehr lange
Referer-Header von URLs mit riesigen Query-Strings. - Ein niedriges Limit für die Header-Größe in einem Node.js-Server (
--max-http-header-size), einem Proxy oder einem Load Balancer.