HTTP Status 413 - Payload Too Large

Der HTTP-Status-Code 413 Payload Too Large (früher Request Entity Too Large) signalisiert, dass der Request Body die Server-Limits überschreitet. Server weigert sich, Request zu verarbeiten. Kann permanent (Size Limit) oder temporär (Resource-Constraints) sein.

Typ

Response-Status-Code

Syntax

Der Status Code wird zurückgegeben bei überschrittenen Payload-Limits.

http
HTTP/1.1 413 Payload Too Large
Content-Type: application/json

Direktiven

Der 413 Payload Too Large Status Code wird für Body-Size-Limits verwendet.

Payload Size Limit
Request Body überschreitet konfiguriertes Server- oder Resource-Limit (z.B. Max 10MB Upload). Server lehnt Processing ab wegen excessive Size.
Retry-After Optional
Falls Limit temporär ist (z.B. Resource-Constraints), kann Response Retry-After Header enthalten. Signalisiert Client, wann Retry möglich ist.
Connection Handling
Server kann Connection offen halten oder schließen. Bei sehr großen Payloads wird typischerweise Connection closed um Resources freizugeben.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für Status 413.

Beispiel 1 File Upload Too Large

http
POST /api/files HTTP/1.1
Host: api.example.com
Content-Type: multipart/form-data
Content-Length: 104857600

[100MB file data]

HTTP/1.1 413 Payload Too Large
Content-Type: application/json

{
  "error": "payload_too_large",
  "message": "File size exceeds maximum limit",
  "uploaded_size": 104857600,
  "max_size": 52428800,
  "max_size_human": "50MB"
}

Beispiel 2 JSON Request Too Large

http
POST /api/bulk-import HTTP/1.1
Host: api.example.com
Content-Type: application/json
Content-Length: 10485760

[10MB JSON array]

HTTP/1.1 413 Payload Too Large
Content-Type: application/json

{
  "error": "request_too_large",
  "message": "Request body exceeds 5MB limit for bulk imports",
  "suggestion": "Split data into multiple smaller requests (max 1000 items per request)"
}

Beispiel 3 Temporary Resource Constraint

http
PUT /api/videos/upload HTTP/1.1
Host: api.example.com
Content-Length: 524288000

HTTP/1.1 413 Payload Too Large
Retry-After: 300
Content-Type: application/json

{
  "error": "temporary_resource_limit",
  "message": "Upload server capacity temporarily exceeded",
  "retry_after_seconds": 300
}

Payload Size Limit Flow

413 Payload Too Large bei Upload Size Limit Überschreitung

Vorteile für die Systemarchitektur

  • DoS Prevention: Schützt Server vor Überlastung durch excessive Payloads. Limitiert Memory/Disk/Processing für einzelne Requests, verhindert Resource-Exhaustion.
  • Early Rejection: Gateway kann Requests basierend auf Content-Length ablehnen bevor Body übertragen wird. Spart Bandwidth und Backend-Processing.
  • Clear Size Limits: Client erfährt explizit Max-Upload-Size. Kann UI-Validation implementieren oder Splitting-Logic vor Request-Submission.

Spezifikation

RFC 9110, Section 15.5.14 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-413-content-too-large

Weitere Spezifikationen

Content-Length Header, POST Method