Troubleshooting guide · http-status · Published 2026-08-15 · 3 min read
HTTP 501 Not Implemented troubleshooting
Diagnose and fix HTTP 501 Not Implemented responses, where a server rejects methods or features it does not support.
- ·What 501 means
- ·Find the cause
- ·Fix the response
The 501 Not Implemented response is easy to confuse with 405 Method Not Allowed, but the two are different in a way that changes how you fix them. Understanding the difference tells you immediately whether the problem is the client's request or the server's configuration.
What 501 means
A 501 tells the client that the server does not support the functionality needed to fulfil the request. Per RFC 9110, it is the right response when the server does not recognise the request method and cannot support it for any resource.
Every general-purpose server must support GET and HEAD, and all other methods are optional. So a well-configured server never returns 501 for GET or HEAD. When it returns 501, it is for a method or feature it genuinely does not implement anywhere, such as a WebDAV method on a server without the WebDAV module, or a rare extension method.
The distinction from 405 is the key one:
| Response | Meaning |
|---|---|
| 405 Method Not Allowed | Server knows the method, but this specific resource is not allowed to process it |
| 501 Not Implemented | Server does not know or implement the method at all, anywhere |
Find the cause
Because 501 is server-scoped, the investigation is about what the client asked for and whether the server can handle it.
- Identify the exact request that triggers it. Inspect the request line and method in the server log or with a manual request using a tool such as
curl -X. - Check whether the method is standard but unimplemented, or a custom extension method. Standard methods that many servers do not implement by default include TRACE, CONNECT, and the WebDAV set.
- For a custom method, verify the receiving server is the one you intended; proxies that do not forward an extension method can return 501 on your behalf.
- Look at the server platform to see whether a module that implements the method is simply missing, such as Apache needing
mod_davfor WebDAV methods.
Fix the response
The fix depends on the intent. If the method should be supported, install or enable the module that implements it, then restart the service and retest. If the method should never be used, decide which status you want to return and configure accordingly, rather than leaving a default 501.
For example, if you want to block TRACE for security reasons, some servers return 501 for it by default, while others prefer a clearer 405. Both are honest, but a 405 that states the method is recognised yet disallowed is usually easier for clients and scanners to interpret than a 501 that implies the server simply lacks support.
When the client genuinely needs the method, the correct fix may be in the client: change the method being sent. A 501 is also worth treating as a signal that the server may be an older or minimal endpoint that only implements GET and HEAD.
Prevention
Document which methods your server intentionally supports and disable the rest deliberately, so a future reader does not mistake a deliberate limitation for a mistake. See 405 Method Not Allowed for the neighbouring status and HTTP status code list for the full family context.