What Is a 411 Status Code?

The server refuses to accept the request without a defined Content-Length1.

The client MAY repeat the request if it adds a valid Content-Length header field containing the length of the message body in the request message.


Rails HTTP Status Symbol :length_required

Go HTTP Status Constant http.StatusLengthRequired

Symfony HTTP Status Constant Response::HTTP_LENGTH_REQUIRED

Python2 HTTP Status Constant httplib.LENGTH_REQUIRED

Python3+ HTTP Status Constant http.client.LENGTH_REQUIRED

Python3.5+ HTTP Status Constant http.HTTPStatus.LENGTH_REQUIRED

.NET HttpStatusCode.LengthRequired

Rust http::StatusCode::LENGTH_REQUIRED

Java java.net.HttpURLConnection.HTTP_LENGTH_REQUIRED

Apache HttpComponents Core org.apache.hc.core5.http.HttpStatus.SC_LENGTH_REQUIRED

Angular @angular/common/http/HttpStatusCode.LengthRequired

What are the related HTTP response headers for a 411 status code?

In addition to the 411 Length Required status code, there are several related HTTP response headers that can provide additional information about the request and its status. These headers can be useful for diagnosing issues and providing more context about the error.

Here are some related HTTP response headers to look for when encountering a 411 status code:

  • Content-Type: This header specifies the MIME type of the response, indicating the format of the data being returned by the server. It can be helpful in determining if the request is being sent in the correct format.
  • Content-Length: This header specifies the size of the response body in bytes. It is required for all responses that include a message body, such as those returned by POST requests.
  • Transfer-Encoding: This header specifies the encoding used to transfer the response data. It is typically set to “chunked” for responses that are sent in multiple pieces.
  • Server: This header specifies the software and version of the server that is processing the request. It can be useful in determining if the server is misconfigured or outdated.

By examining these related HTTP response headers, you can gain a better understanding of the state of the request and potentially diagnose any issues that may be causing the 411 Length Required status code to be returned.

What causes a 411 status code?

There are several common causes of the 411 Length Required status code, including:

Missing or incorrect Content-Length header

The most common cause of the 411 Length Required status code is missing or incorrect Content-Length header. This can occur when manually editing request headers or when using a tool that does not include the header by default.

Incorrect configuration

If your server or application is misconfigured, it may reject requests that are missing the Content-Length header, even if the header is not required. This can cause the 411 Length Required status code to be returned.

Network issues

In some cases, network issues such as dropped connections or timeouts can cause the 411 Length Required status code to be returned. This is less common than header-related issues, but it can occur in certain network environments.

How to troubleshoot a 411 length required status code

If you encounter a 411 Length Required status code, it means that your request is missing the Content-Length header. To resolve this issue, add the Content-Length header to your request and specify the size of the message body in bytes. You can do this manually by editing the request headers or by using a tool such as cURL or Postman to generate the request.

Additional resources

Return to List of HTTP Status Codes