What Is a 510 Status Code?

The policy for accessing the resource has not been met in the request. The server should send back all the information necessary for the client to issue an extended request.

It is outside the scope of this specification to specify how the extensions inform the client.

If the 510 response contains information about extensions that were not present in the initial request then the client MAY repeat the request if it has reason to believe it can fulfill the extension policy by modifying the request according to the information provided in the 510 response. Otherwise the client MAY present any entity included in the 510 response to the user, since that entity may include relevant diagnostic information.


Rails HTTP Status Symbol :not_extended

Symfony HTTP Status Constant Response::HTTP_NOT_EXTENDED

.NET HttpStatusCode.NotExtended

Rust http::StatusCode::NOT_EXTENDED

Go http.StatusNotExtended

Python3.5+ http.HTTPStatus.NOT_EXTENDED

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

Angular @angular/common/http/HttpStatusCode.NotExtended

510 status code example

Here’s an example of a request and response that could result in a 510 Not Extended status code:


GET /resource HTTP/1.1
Host: example.com


HTTP/1.1 510 Not Extended
Content-Type: text/html
Content-Length: 219

<!DOCTYPE html>
<title>510 Not Extended</title>
<h1>Not Extended</h1>
<p>The server requires a protocol extension that the client did not provide.</p>

In this example, the client is requesting the “/resource” URL from the example.com server. However, the server responds with a 510 Not Extended status code to indicate that the server requires a protocol extension that the client did not provide. The response includes a message body that provides additional details about the error.

What causes a 510 status code?

A 510 Not Extended status code occurs when the client needs to add additional extensions to the request headers to fulfill the request, but the server does not accept the request without these extensions.

For example, a server might return a 510 response if the client attempted to use an HTTP method that the server does not recognize, or if the client failed to include a required request header.

The 510 status code is not a common status code and is rarely seen in practice. It may be encountered when communicating with experimental or specialized protocols that require specific extensions or headers to be included in requests.

How to fix a 510 status code

If you receive a 510 Not Extended status code, the issue is likely related to the specific protocol or extensions required by the server.

Here are a few potential troubleshooting steps you can take:

  • Check protocol and extension requirements: The first step is to review the server’s documentation or contact the server administrator to determine what protocol extensions are required for the request to be successful. Once you have identified the required extensions, you can modify the request headers to include the necessary information.
  • Upgrade or modify the client: If the client does not support the required protocol extensions, you may need to upgrade or modify the client to ensure that it can communicate with the server. This could involve updating the client software or implementing custom code to handle the required extensions.
  • Use a different protocol or server: If the required protocol extensions are not feasible or if the server is not compatible with the client, you may need to use a different protocol or server to accomplish your task.

In general, resolving a 510 error requires understanding the specific protocol and extension requirements of the server and modifying the client to include the necessary information. If you are unsure about how to proceed, it may be helpful to consult the server documentation or contact the server administrator for assistance.

Additional resources

Return to List of HTTP Status Codes