HTTP Status 431 - Request Header Fields Too Large

Der HTTP-Status-Code 431 Request Header Fields Too Large signalisiert, dass Server Request ablehnt weil einzelne Header-Fields oder gesamte Header-Size das Server-Limit überschreiten. Typisch bei excessive Cookies, sehr langen Authorization-Tokens oder Custom-Headers. Security-Measure gegen Header-Overflow-Attacks und Memory-Exhaustion.

Typ

Response-Status-Code

Syntax

Der Status Code wird zurückgegeben bei übermäßig großen Request-Headers.

http
HTTP/1.1 431 Request Header Fields Too Large

Direktiven

Der 431 Request Header Fields Too Large Status Code wird bei Header-Size-Limit-Violations verwendet.

Individual Header Size Limit
Einzelner Header-Field überschreitet Server-Limit (z.B. Cookie > 8KB, Authorization > 16KB). Server kann Request nicht verarbeiten wegen Memory-Constraints oder Security-Policies.
Total Header Size Limit
Gesamtgröße aller Header-Fields überschreitet Server-Limit (typisch 8-64KB Total-Header-Size). Verhindert Memory-Exhaustion und DoS-Attacks via Large-Headers.
Cookie Accumulation Problem
Häufigste Ursache ist Cookie-Accumulation über Zeit. Multiple Subdomains oder Apps setzen Cookies, totale Cookie-Size überschreitet Limit. Client muss Cookies bereinigen.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für Status 431.

Beispiel 2 Oversized Authorization Token

http
POST /api/data HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGc...[20KB JWT token]...xyz
Content-Type: application/json

{"query": "data"}

HTTP/1.1 431 Request Header Fields Too Large
Content-Type: application/json

{
  "status": 431,
  "error": "authorization_header_too_large",
  "message": "Authorization header exceeds maximum size",
  "header_size": 20480,
  "max_size": 16384,
  "solution": "Use token reference or reduce claims in JWT"
}

Beispiel 3 Total Header Size Exceeded

http
GET /api/resource HTTP/1.1
Host: api.example.com
Cookie: session=...[8KB]
X-Custom-Header: ...[16KB of custom data]
User-Agent: ...[2KB]
Accept: ...[1KB]

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

Error: Total request header size exceeds server limit.
Total header size: 65KB
Server limit: 64KB

Please reduce header sizes:
- Cookie: 8KB (consider clearing old cookies)
- X-Custom-Header: 16KB (exceeds recommended 8KB for custom headers)
- User-Agent: 2KB (unusually large)

Header Size Limit Protection Flow

431 Request Header Fields Too Large schützt Server vor Header-Overflow

Vorteile für die Systemarchitektur

  • DoS Protection: 431 verhindert Memory-Exhaustion-Attacks via Large-Headers. Server rejected oversized Requests früh, bevor teure Processing oder Memory-Allocation durchgeführt wird.
  • Resource Constraint Enforcement: Server können Header-Size-Limits enforced basierend auf Available-Memory und Performance-Requirements. Verhindert dass Single-Request Server-Resources monopolisiert.
  • Client-Side Issue Detection: 431 hilft Developers Cookie-Accumulation-Problems und oversized Custom-Headers zu identifizieren. Clear Feedback welcher Header das Limit überschreitet.

Spezifikation

RFC 6585, Section 5 – Additional HTTP Status Codes https://www.rfc-editor.org/rfc/rfc6585.html#section-5

Weitere Spezifikationen

Content-Length Header, Cookie Header