Example HTTP Response
HTTP/1.1 501 Not Implemented- Feature not yet developed
- HTTP method not supported
- Functionality planned but not built
What does this mean?
We haven't built that yet! Like asking a flip phone for face recognition. Coming soon... maybe.
Technical Definition
The request method is not supported by the server and cannot be handled.
RFC Says
"The 501 (Not Implemented) status code indicates that the server does not support the functionality required to fulfill the request. This is the appropriate response when the server does not recognize the request method and is not capable of supporting it for any resource."
Plain English:
501 means 'I don't support this HTTP method at all.' For example, a simple server that only implements GET and POST would return 501 for PATCH requests. Unlike 405 (Method Not Allowed), which means 'I support this method, but not for this resource,' 501 means the server doesn't implement the method anywhere.
Common Misinterpretation
Don't confuse 501 with 405. Use 405 when your server understands the method but doesn't allow it on this specific resource (e.g., DELETE on /users). Use 501 when your server doesn't implement the method at all. Most modern servers return 405, not 501.
Ready-to-use code for returning this HTTP status in your application:
// Express.js
app.get('/example', (req, res) => {
res.status(501).json({
error: 'Not Implemented',
message: 'Your error message here'
});
});
// Native HTTP
const http = require('http');
http.createServer((req, res) => {
res.writeHead(501, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({
error: 'Not Implemented',
message: 'Your error message here'
}));
}).listen(3000);