HTTP response status code 501 Not Implemented is a server error message that is returned to indicate that it does not support a specific feature that is required to complete the HTTP request.
The HTTP response is cacheable by default. If the default behavior needs to be overridden then the HTTP response must include the appropriate HTTP caching headers.
Usage
When the 501 Not Implemented status code is received, it means that the server is not able to fulfill the request due to a server-side deficiency. This is similar to the 405 Method Not Allowed status code, although that is specific in that the client has requested functionality that is not supported. While that may be strictly true at the time of the HTTP request, the functionality may be under development or otherwise not working temporarily. A 405 Method Not Allowed status code suggests that the HTTP request cannot be filled and that the functionality will not be available in the foreseeable future, whereas a 501 Not Implemented status code is used to suggest that it’s “not yet implemented but will be», or “this is something that you can do, once I am ready for you to do it». In this situation, the server can optionally supply a Retry-After HTTP header, suggesting a time for the client to try again.
According to RFC 7231, this is appropriate in cases where the server does not recognize the HTTP request method and thus, cannot fulfill it.
Example
In the example, the client requests a resource and the server responds with a 501 Not Implemented status code because it recognized the HTTP request, but it is not (yet) supported.
Request
POST /requests?id=111&flag=start HTTP/1.1
Host: www.example.ai
Response
HTTP/1.1 501 Not Implemented
Content-Type: text/html; charset=UTF-8
Content-Length: 202
<html>
<head>
<title>Function Not Implemented<title>
</head>
<body>
<p>Your request can not be completed because this functionality is currently under development.</p>
</body>
</html>
Code references
.NET
HttpStatusCode.NotImplemented
Rust
http::StatusCode::NOT_IMPLEMENTED
Rails
:not_implemented
Go
http.StatusNotImplemented
Symfony
Response::HTTP_NOT_IMPLEMENTED
Python3.5+
http.HTTPStatus.NOT_IMPLEMENTED
Java
java.net.HttpURLConnection.HTTP_NOT_IMPLEMENTED
Apache HttpComponents Core
org.apache.hc.core5.http.HttpStatus.SC_NOT_IMPLEMENTED
Angular
@angular/common/http/HttpStatusCode.NotImplemented
Takeaway
The 501 Not Implemented status code is a server error used to indicate that the HTTP request cannot be completed because the server does not support the required functionality at this time.
See also
- 405 Method Not Allowed
- RFC 7231
Last updated: June 29, 2022
Код 501 Not Implemented означает, что сервер, к которому обращается пользователь, не предоставляет возможности, необходимые для его обработки. Проще говоря, если сервер не понимает указанный метод запроса.
О чем свидетельствует «код 501»
Этот серверный код означает, что метод не может быть обработан, поскольку не поддерживается сервером. Он не может возникать в ответ лишь на два метода запросов — GET и HEAD, поскольку они необходимы серверам для поддержки.
Что делать пользователю, когда в браузере появляется код ошибки «501»
Пользователь, получивший такой код, может написать в службу поддержки сайта о его возникновении. Однако проблема также может быть на стороне пользователя, если его браузер заражен вредоносным программным обеспечением. Проверьте вашу систему антивирусными программами.
Причины возникновения кода «501»
Наиболее распространенные причины возникновения кода 501 таковы:
- вирусы или другое вредоносное программное обеспечение, которые контролируют ваш интернет-браузер;
- сервер, обрабатывающий запросы, перегружен запросами;
- ошибка сервера, обрабатывающего запросы;
- наименее вероятная причина — устаревшее программное обеспечение сервера.
Если вы владелец ресурса, который регулярно возвращает пользователям ошибку 501, обратитесь в службу поддержки вашего хостинг-провайдера.
Вас также может заинтересовать
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.
A 501 response is cacheable by default; i.e., unless otherwise indicated by the method definition or explicit cache controls1.
- 1 Calculating Heuristic Freshness RFC7234 Section 4.2.2
- Source: RFC7231 Section 6.6.2
501 CODE REFERENCES
Rails HTTP Status Symbol :not_implemented
Go HTTP Status Constant http.StatusNotImplemented
Symfony HTTP Status Constant Response::HTTP_NOT_IMPLEMENTED
Python2 HTTP Status Constant httplib.NOT_IMPLEMENTED
Python3+ HTTP Status Constant http.client.NOT_IMPLEMENTED
Python3.5+ HTTP Status Constant http.HTTPStatus.NOT_IMPLEMENTED
.NET HttpStatusCode.NotImplemented
Rust http::StatusCode::NOT_IMPLEMENTED
Java java.net.HttpURLConnection.HTTP_NOT_IMPLEMENTED
Apache HttpComponents Core org.apache.hc.core5.http.HttpStatus.SC_NOT_IMPLEMENTED
Angular @angular/common/http/HttpStatusCode.NotImplemented
501 status code example
Here is an example of a request and response that could result in a 501 status code:
Request
GET https://example.com/unsupported-feature HTTP/1.1
Host: example.com
Response
HTTP/1.1 501 Not Implemented
Date: Wed, 16 Mar 2023 12:00:00 GMT
Server: Apache
Content-Type: text/plain;charset=UTF-8
Content-Length: 28
This feature is not supported.
In this example, the client is sending a GET request to access a resource at https://example.com/unsupported-feature
. However, the requested feature is not supported by the server.
The server responds with a 501 Not Implemented status code, which indicates that the server does not support the requested feature. The response also includes a message body with a plain text message that provides additional information about the error.
The server also includes several headers in the response, such as Date
, Server
, Content-Type
, and Content-Length
, which provide additional information about the response.
How to fix a 501 status code
To fix a 501 error, you can take the following steps:
- Check if the server supports the requested feature: Verify that the server actually supports the feature or functionality that the client is requesting. If the server does not support the requested feature, you can try using an alternative method or feature that is supported by the server.
- Upgrade the server: If the server is outdated or not configured correctly, it may not support the requested feature. In this case, you can upgrade the server to a newer version or configure it correctly to support the feature.
- Configure the server: Make sure that the server is configured correctly to handle the requested feature. This may involve adjusting server settings, installing necessary software or plugins, or making other configuration changes.
- Check the client request: Verify that the client is making the request correctly and using a method that is supported by the server. If the client is using an unsupported method or protocol, you can try using an alternative method or protocol that is supported by the server.
- Provide a meaningful error message: If the requested feature cannot be supported, provide a meaningful error message to the client. This can help the client understand the issue and take appropriate action.
It’s important to note that fixing a 501 error may involve changes to both the client and the server. If you’re unsure about how to fix a 501 error, consult the documentation for your server and/or application, or contact your web hosting provider or IT department for assistance.
Do 501 status codes affect search engine optimization (SEO)?
Yes, 501 errors can impact SEO. If search engine crawlers encounter 501 errors when trying to access pages or resources on a website, it can affect how the search engine indexes and ranks the site in search results.
How do 501 status codes affect SEO?
When a search engine encounters a 501 error, it may assume that the website is not functioning correctly and may lower the site’s ranking in search results. This is because search engines prioritize sites that are functional, accessible, and reliable, and a site that frequently returns 501 errors may be seen as less reliable.
Additionally, if search engines encounter many 501 errors on a site, they may reduce the frequency at which they crawl the site, which can result in slower indexing and ranking updates.
How to prevent 501 errors from hurting your SEO
To prevent 501 errors from impacting SEO, it’s important to monitor the site for errors and fix them as quickly as possible. You can use various online tools to check for 501 errors, such as Google Search Console or third-party SEO auditing tools. Once you have identified 501 errors, you can work to fix them by following the steps outlined in my previous response.
Additional resources
- Learn about web development
- Learn about SEO
- Web development services from WebFX
- SEO services from WebFX
- MDN Web Docs
- W3Schools
Return to List of HTTP Status Codes
Last updated: December 19, 2022
When something breaks on your site you’ll typically encounter what is called an HTTP status code.
These are delivered to your browser in the HTTP header and to help you troubleshoot what might be wrong. Some status codes you’re probably familiar with include 404 “not found” errors or a 301 redirect for SEO purposes.
Today we’re going to discuss a less common status code, and that is the 501 not implemented error. Follow the steps and recommendations below to resolve it.
What is the HTTP 501 Not Implemented Error?
The Internet Engineering Task Force (IETF) defines the 501 Not Implemented as:
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.
A 501 response is cacheable by default; i.e., unless otherwise indicated by the method definition or explicit cache controls.
The 501 not implemented error 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 (RFC7231, section 6.6.2). A 501 response is also cacheable by default.
Due to the various browsers, web servers, and operating systems, a 501 not implemented error can present itself in a number of different ways. But they all have the same meaning. Below are just a couple of the many different variations you might see on the web:
- “501 Not Implemented”
- “Error 501”
- “HTTP 501”
- “HTTP Error 501 Not implemented”
- “The server either does not recognize the request method, or it lacks the ability to fulfill the request.”
Check Out Our Video Guide to The 501 Error
501 Errors Impact on SEO
Unlike 503 errors, which are used for maintenance mode and tell Google to check back at a later time, a 501 error can have a negative impact on SEO if not fixed right away. If your site is only down for say 10 minutes and it’s being crawled consistently a lot of times the crawler will simply get the page delivered from cache. Or Google might not even have a chance to re-crawl it before it’s back up. In this scenario, you’re completely fine.
However, if the site is down for an extended period of time, say 6+ hours, then Google might see the 501 error as a site level issue that needs to be addressed. This could impact your rankings. If you’re worried about repeat 501 errors you should figure out why they are happening to begin with. Some of the solutions below can help.
How to fix the HTTP 501 Not Implemented Error
A 501 not implemented error is almost always a problem with your web server. There are a few things you can do on your side to try and resolve it, but typically this is the type of error where you’ll need to reach out to your host to fix.
1. Try Reloading the Page
One of the easiest and first things you should try when encountering a 501 not implemented error is to simply wait a minute or so and reload the page (F5 or Ctrl + F5). It could be that the host or server will resolve the issue While you’re waiting, you could also quickly try a different browser to rule that out as an issue.
Another thing you can do is to paste the website into downforeveryoneorjustme.com. This website will tell you if the site is down or if it’s a problem on your side.
2. Clear Your Browser Cache
Whenever you encounter issues like these it can be good to clear your browser cache. Below are instructions on how to clear cache in the various browsers:
- How to Force Refresh a Single Page for All Browsers
- How to Clear Browser Cache for Google Chrome
- How to Clear Browser Cache for Mozilla Firefox
- How to Clear Browser Cache for Safari
- How to Clear Browser Cache for Internet Explorer
- How to Clear Browser Cache for Microsoft Edge
- How to Clear Browser Cache for Opera
3. Disable Proxy Settings
This is very rare, but sometimes you might see a 501 error if you are utilizing a proxy service. Or one might have been set without you even knowing it. Follow these tutorials on how to disable or check to ensure no proxy settings are enabled:
- Disable proxy settings on Windows
- Disable proxy settings on Mac
4. Reach Out To Your Host
Unlike some other HTTP status codes where there is a lot of troubleshooting you can do yourself, 501 errors are almost always an issue on the web server. They aren’t usually caused by a bad plugin or caching issue. Therefore, if it doesn’t resolve itself within a few minutes we recommend simply reaching out to your host. You can also check your host’s status page.
Typical causes of this error on the server might include:
- There was a bad update to the server causing it to not properly respond to the browser’s request.
- There is a misconfiguration in NGINX that needs to be fixed by an engineer.
- The server you’re attempting to access may be overwhelmed and therefore isn’t able to properly generate the request.
- It could also be a billing issue. If you didn’t pay your hosting bills, they might default your site to 501 status before removing the account altogether, giving you another chance to resolve the issue.
At Kinsta, a 501 error can also be due to the fact that your staging site has stopped. Under your site’s Info tab you will see the option to “Start staging environment.”
If for some reason you’re still having issues, simply open a support ticket and we’ll get it fixed immediately.
If you are worried about these happening on your site in the future, you can also utilize a tool like updown.io to monitor and notify you immediately if they occur. It periodically sends an HTTP HEAD request to the URL of your choice. You can simply use your homepage. The tool allows you to set check frequencies of:
- 15 seconds
- 30 seconds
- 1 minute
- 2 minutes
- 5 minutes
- 10 minutes
It will send you an email if and when your site goes down. Here is an example below.
This can be especially useful if you’re on a shared host, who tend to overcrowd their servers. This can give you proof of how often your site might actually be doing down (even during the middle of the night). That’s why we always recommend going with an application, database, and managed WordPress host such as Kinsta.
If you want to keep your site in good shape, make sure to read our in-depth guide on WordPress maintenance.
501 HTTP Status Code Error: What It Is and How to Fix It
What to do when the web isn’t cooperating
Updated on February 23, 2021
What to Know
- A 501 HTTP isn’t a problem with your computer or web browser. It’s a problem with the web server or the site running on it.
- Most errors occur when the owner of a web server hasn’t enabled a feature needed to complete a server request.
- Troubleshooting tips: Update server, reboot or restart web service, update web application, look for missing modules, check server logs.
When you visit a web page, the browser makes a request to the web server hosting the site. When the server cannot fulfill the request, you receive an HTTP 501 error.
What Causes the HTTP 501 Error?
There are a few common reasons why a server can’t meet your browser’s request, causing the HTTP 501 error. Most commonly, the owner of the web server hasn’t enabled a feature needed to complete the request. There’s also the chance that they haven’t installed a required piece of software or plugin for the web server.
You may also get a 501 error when the web server is outdated or unmaintained. In rarer cases, the site owner set something up wrong, and the web server software they chose isn’t compatible with a feature on the site.
How to Solve the HTTP 501 Error
Before you start, there is no real way to solve the 501 error as a visitor to a website. The problem isn’t with your computer or web browser. It’s a problem with the web server or the site running on it. The most you can do is reach out to the owner of the site and let them know something’s wrong.
If you are the site owner, these steps can help you get to the bottom of the problem causing the HTTP 501 error.
-
Try updating the server. On Debian and Ubuntu servers, run:
$ sudo apt update && sudo apt upgrade
For CentOS and RHEL run:
$ sudo dnf update
-
Next, either reboot your server or restart the web server service. Apache users should run:
$ sudo systemctl restart apache2
On some systems, that’s a little different.
$ sudo systemctl restart httpd
Restarting Nginx is similar.
$ sudo systemctl restart nginx
-
If you’re still seeing the error, try updating your web application. Web platforms like WordPress receive frequent updates that you can run through your dashboard. If the dashboard is accessible through the web interface without getting the 501 error, try running an update.
-
Look for any missing modules for your web server. There are tons of Apache modules for compatibility with a variety of programming languages, like PHP, Python, and Ruby. Make sure that you have the ones that you need installed.
-
Finally, check the server logs. Both Apache and Nginx keep their logs in /var/log Check to see if you can determine the cause of the 501 from what the server itself is logging.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe