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
| Code | 501 |
|---|---|
| Name | Not Implemented |
| Category | 5xx Server Errors |
| Specification | RFC 9110 §15.6.2 |
| IANA status | Assigned |
| Client behavior | Do not retry with the same method. Use a different method or contact the server operator. |
| Caching | Cacheable. The lack of method support is stable server behavior. |
| In-depth guide | HTTP 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
| Code | Server knows the method? | Problem |
|---|---|---|
| 501 | No | Server does not implement this method at all |
| 405 | Yes | Method is known but not allowed on this resource |
| 400 | Yes | Method 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