413 Content Too Large

Der Anfrage-Body ist größer, als der Server akzeptiert.

Wann du ihn verwendest

Uploads über der Größengrenze.

Häufige Ursachen und Lösungen

Der Body ist größer, als irgendeine Schicht erlaubt, und diese Schicht ist oft nicht deine App. nginx setzt client_max_body_size standardmäßig auf 1m, daher scheitern Uploads über 1 MB mit 413, bis du den Wert im http-, server- oder location-Block erhöhst. Cloudflare begrenzt Request-Bodys in den Tarifen Free und Pro auf 100 MB, AWS API Gateway auf 10 MB und synchrone Lambda-Payloads auf 6 MB.

Prüfe dann die App: express.json von Express hat standardmäßig ein Limit von 100kb, und PHP hat upload_max_filesize (standardmäßig 2M) und post_max_size (8M). Denk daran, nginx oder PHP-FPM nach dem Ändern der Limits neu zu laden. Lade große Dateien mit vorsignierten URLs direkt in einen Object Storage hoch oder teile Uploads in Chunks auf, statt jedes Limit auf dem Weg anzuheben.

Client-Fehler (4xx)

4xx-Codes sind Client-Fehler: Die Anfrage selbst ist fehlerhaft, nicht autorisiert oder verweist auf etwas, das es nicht gibt. Dieselbe Anfrage erneut zu senden hilft nicht.

So sieht es aus

HTTP/1.1 413 Content Too Large

So sendest du ihn

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

So prüfst du ihn

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

HTTP-Statuscodes öffnen