5xx Server Error

501 Not Implemented

What it means

The server doesn't know how to handle the requested HTTP method. Unlike 405 (method not allowed for this resource), 501 means the server doesn't implement this method at all. It's essentially the opposite of 200 — instead of "I handled this," it's "I have no idea how to handle this."

Site Visitor

What can I do?

  • This is a server-side error — not your fault.
  • Wait a few minutes and try refreshing the page.
  • If the error persists, contact the site owner or check their status page.
Developer

How to debug & fix

  1. Return 501 for genuinely unimplemented HTTP methods
  2. Use 405 for known methods not allowed on a specific resource
  3. Add a deprecation notice or documentation link in the response body
  4. Use 405 for known-but-unsupported methods on a specific route; reserve 501 for methods the server has never heard of.

Code Example

Node.js / Express
app.all('*', (req, res, next) => {
  const supported = ['GET','POST','PUT','PATCH','DELETE','OPTIONS','HEAD'];
  if (!supported.includes(req.method)) {
    return res.status(501).json({ error: 'Not Implemented' });
  }
  next();
});

Related Status Codes

How HTTP Status Codes Work

Every HTTP response carries a three-digit status code that tells the client — browser, API consumer, or search-engine crawler — exactly what happened. The first digit defines the class: 1xx informational (request in progress), 2xx success, 3xx redirection, 4xx client error (bad request, missing auth, not found), and 5xx server failure.

Status codes are standardised in RFC 9110 (HTTP Semantics, 2022). Extensions like WebDAV (RFC 4918) and rate-limit headers (RFC 6585) added codes beyond the core set. When a client receives an unrecognised code, the rule is to treat it as the generic x00 of its class.

Why the Right Code Matters

Semantically correct codes help search engines index accurately (301 passes link equity; 410 removes pages faster than 404), allow API clients to implement correct retry logic (429 + Retry-After, 503 + Retry-After), and let monitoring systems distinguish bugs (500) from load issues (503) from auth failures (401/403).

Looking up a different status code? The full reference covers all HTTP codes with causes, fix guides, and copyable code examples for Node.js and Python.

Browse the full HTTP Status Code reference →

Frequently Asked Questions

What does HTTP 501 Not Implemented mean?
The server doesn't know how to handle the requested HTTP method. Unlike 405 (method not allowed for this resource), 501 means the server doesn't implement this method at all. It's essentially the opposite of 200 — instead of "I handled this," it's "I have no idea how to handle this."
Is HTTP 501 the visitor's fault?
No. HTTP 501 Not Implemented is a server-side error. The problem lies with the server, not the visitor. The site owner is responsible for fixing it.
How do I fix HTTP 501 Not Implemented?
As a visitor: wait a few minutes and refresh — server errors are usually temporary. As a developer: check your server error logs immediately, restart the application server if needed, and set up uptime monitoring.