HTTP 501 Not Implemented

HTTP 501 Not Implemented means the server does not recognize the HTTP method used in the request and cannot process it. Unlike 405 Method Not Allowed, which means a known method is not supported for a specific resource, 501 means the server does not implement the method at all for any resource.

Quick reference

Code501
NameNot Implemented
Category5xx Server Errors
SpecificationRFC 9110 §15.6.2
IANA statusAssigned
Client behaviorDo not retry with the same method. Use a different method or contact the server operator.
CachingCacheable. The lack of method support is stable server behavior.
In-depth guideHTTP 501 server capability guide →

What it means

RFC 9110 defines 501 for cases where the server does not support the functionality required to process the request — specifically when the request method is unrecognized or is not implemented by the server. The standard HTTP methods (GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH, CONNECT, TRACE) are expected to be known by any compliant server, even if not all are supported for every resource.

In practice, 501 is most commonly returned when a client uses an extension method or a non-standard verb that the server has no handler for. It can also appear as a placeholder when a feature is planned but not yet built — a server returning 501 is explicitly signaling "I know about this method but have not built support for it."

501 vs 405: the key distinction

If the server knows the method but the specific resource does not support it → 405. If the server does not recognize or implement the method at all → 501. A server that recognizes DELETE but has a specific resource that cannot be deleted returns 405. A server that does not implement PATCH at all returns 501 for any PATCH request.

Common causes

Non-standard or extension HTTP method

Some protocols build on HTTP and define custom methods (WebDAV's LOCK, PROPFIND, MKCOL; CalDAV's REPORT). A standard HTTP server with no WebDAV support will return 501 for these methods.

Method not implemented by the application framework

An API framework that does not define a handler for PATCH requests will return 501 for any PATCH. The fix is to implement the handler, not change the request.

Intentional stub for future features

Some servers return 501 as an explicit "not yet implemented" signal during development, acting as a placeholder until the feature is built.

501 vs 405 vs 400

CodeServer knows the method?Problem
501NoServer does not implement this method at all
405YesMethod is known but not allowed on this resource
400YesMethod is known but request is malformed

See also: 405 vs 501 · 510 vs 501

Related resources

On this site: HTTP 501 server capability guide · HTTP 405 Method Not Allowed · HTTP 400 Bad Request · All 5xx server errors

Comparisons: 405 vs 501 · 510 vs 501

Standards: RFC 9110 §15.6.2 · IANA Registry · MDN Web Docs: 501