Signification
Le serveur exige un en-tête Content-Length et la requête n'en contenait pas.
Causes courantes
- Envoi par morceaux vers un serveur qui n'accepte pas le codage chunked
- Une bibliothèque cliente qui diffuse le corps sans longueur
- POST sans corps et sans Content-Length: 0
Comment corriger
Côté client ou visiteur
Envoyez Content-Length (Content-Length: 0 pour un POST vide) ou mettez le corps en mémoire tampon pour que le client puisse la calculer.
Côté propriétaire du site ou de l’API
Acceptez le codage de transfert chunked quand c'est possible, ou documentez que la longueur est obligatoire.
Exemple de réponse
HTTP/1.1
HTTP/1.1 411 Length Required
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Length Required",
"status": 411,
"detail": "Send a Content-Length header with the upload."
} Spécification
FAQ
› Pourquoi un POST vide renvoie-t-il 411 ?
Certains serveurs exigent Content-Length même sans corps ; envoyez Content-Length: 0.
› HTTP/2 a-t-il besoin de Content-Length ?
Non. HTTP/2 et HTTP/3 découpent eux-mêmes le corps en trames, donc 411 concerne surtout HTTP/1.1.