413 Content Too Large

Le corps de la requête dépasse la taille acceptée par le serveur.

Quand l’utiliser

Envois dépassant la taille limite.

Causes courantes et solutions

Le corps dépasse ce qu’une couche autorise, et cette couche n’est souvent pas votre application. nginx fixe client_max_body_size à 1m par défaut, donc les envois de plus de 1 Mo échouent avec un 413 tant que vous ne l’augmentez pas dans le bloc http, server ou location. Cloudflare limite les corps de requête à 100 Mo sur les offres Free et Pro, AWS API Gateway à 10 Mo, et les payloads Lambda synchrones à 6 Mo.

Vérifiez ensuite l’application : express.json d’Express a une limite par défaut de 100kb, et PHP a upload_max_filesize (2M par défaut) et post_max_size (8M). Pensez à recharger nginx ou PHP-FPM après avoir modifié les limites. Pour les gros fichiers, envoyez-les directement vers un stockage objet avec des URL présignées, ou découpez les envois en morceaux, plutôt que d’augmenter chaque limite sur le chemin.

Erreur client (4xx)

Les codes 4xx sont des erreurs client : la requête elle-même est incorrecte, non autorisée ou vise quelque chose qui n’existe pas. Renvoyer la même requête ne servira à rien.

À quoi ça ressemble

HTTP/1.1 413 Content Too Large

Comment l’envoyer

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

Comment le vérifier

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

Ouvrir l’outil Codes de statut HTTP