510 Not Extended

HTTP response status code 510 Not Extended is a server error indicating the request requires an HTTP extension not present in the request.

Usage

The 510 Not Extended status code is part of the HTTP Extension Framework. IANA now lists 510 as "Not Extended (OBSOLETED)" and the specification has been moved to Historic status, meaning the protocol is no longer recommended for use.

The error occurs when the client is required to use an extended HTTP request but has not done so. The server response includes information on how to extend the request, though the exact format is not specified in the protocol.

SEO impact

Search engines treat 510 the same as other 5xx server errors. Persistent failures reduce crawl rate and eventually remove affected URLs from the index.

Example

The client sends a request requiring a mandatory HTTP extension. The server responds with 510 Not Extended because the request does not include the required M- prefix and extension declaration.

Request

GET /resource HTTP/1.1
Host: www.example.re

Response

HTTP/1.1 510 Not Extended
Content-Type: text/html; charset=UTF-8
Content-Length: 199

<html>
  <head>
    <title>Not Extended</title>
  </head>
  <body>
    <p>The request requires a mandatory HTTP
    extension. Resubmit with the required
    extension headers.</p>
  </body>
</html>

How to fix

The server requires an HTTP extension the client did not include in the request. The 510 response body describes which extension is needed.

On the client side:

  • Read the 510 response body for details on the required extension. The specification defines mandatory extensions using the Man header and optional extensions use the Opt header, each referencing an extension namespace URI.
  • Resubmit the request with the required extension declaration. The request method must use the M- prefix (e.g. M-GET) when a mandatory extension is present, and the Man header must reference the extension URI with a namespace prefix bound via the C-Ext header.
  • If the client has no support for the extension, contact the server operator to determine whether an alternative endpoint or protocol is available without the extension requirement.

On the server side:

  • Verify the mandatory extension requirement is intentional. A misconfigured server sending 510 for standard requests blocks all clients lacking the extension.
  • Provide a clear response body explaining the required extension and how to include the declaration, so clients receive actionable error messages.

This status code is rarely encountered in practice. The HTTP Extension Framework has been moved to Historic status and has seen near-zero adoption. Most modern APIs and web applications handle feature negotiation through custom headers, query parameters, or API versioning rather than the Extension Framework mechanism.

Code references

.NET

HttpStatusCode.NotExtended

Rust

http::StatusCode::NOT_EXTENDED

Rails

:not_extended

Go

http.StatusNotExtended

Symfony

Response::HTTP_NOT_EXTENDED

Python3.5+

http.HTTPStatus.NOT_EXTENDED

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_NOT_EXTENDED

Angular

@angular/common/http/HttpStatusCode.NotExtended

Takeaway

The 510 Not Extended status code is a server error indicating the client did not include a required HTTP extension in the request, and the request was not completed.

See also

Last updated: March 6, 2026