What HTTP 411 means
Some servers refuse request bodies sent with chunked transfer encoding and need the size up front. It usually happens with a POST or PUT that has an empty body and no Content-Length: 0 header.
How to fix a 411 error
-
With curl,
-d ""sendsContent-Length: 0for an empty POST.
Retrying
No. Fix the request first; sending it again unchanged will get the same response.
Example response
HTTP/1.1 411 Length Required
Date: Wed, 21 Oct 2026 10:30:00 GMT
Content-Type: application/json
How to return 411
res.status(411).json({ error: 'Length Required' });
from fastapi import HTTPException
raise HTTPException(status_code=411, detail="Length Required")
http.Error(w, http.StatusText(http.StatusLengthRequired), http.StatusLengthRequired)
location /private/ {
return 411;
}
Related status codes
- 413 Content Too Large : The request body is larger than the server allows.
- 400 Bad Request : The server can’t process the request because it is malformed.
Other 4xx status codes
400 Bad Request · 401 Unauthorized · 402 Payment Required · 403 Forbidden · 404 Not Found · 405 Method Not Allowed · 406 Not Acceptable · 407 Proxy Authentication Required · 408 Request Timeout · 409 Conflict · 410 Gone · 412 Precondition Failed · 413 Content Too Large · 414 URI Too Long · 415 Unsupported Media Type · 416 Range Not Satisfiable · 417 Expectation Failed · 418 I’m a Teapot · 421 Misdirected Request · 422 Unprocessable Content · 423 Locked · 424 Failed Dependency · 425 Too Early · 426 Upgrade Required · 428 Precondition Required · 429 Too Many Requests · 431 Request Header Fields Too Large · 444 No Response · 451 Unavailable For Legal Reasons · 499 Client Closed Request
See the full list of HTTP status codes.
Sources
Spotted a mistake? Email hello@devtoolsmith.com and we’ll fix it.
Frequently asked questions
What does HTTP 411 Length Required mean?
HTTP 411 Length Required means the server requires a Content-Length header. Some servers refuse request bodies sent with chunked transfer encoding and need the size up front. It usually happens with a POST or PUT that has an empty body and no Content-Length: 0 header.
How do I fix HTTP 411?
With curl, -d "" sends Content-Length: 0 for an empty POST.