501 not implemented means the server will not support the ability that is required to fill the original request. This is the best fitted response when a web server is not familiar with the request method and is not capable of supporting it for any resource.
501 not implemented defines when the web server does not understand or will not support an HTTP method that it finds in the HTTP stream sent to it by the requesting agent.
Defined 501 Not Implemented Requests:
- OPTIONS: Displays the communication options available for a particular URL. This allows the requester to confirm the options associated with a particular resource, and assess the capabilities of the web server. No specific action involving the transfer of data is needed.
- DELETE: Such as when a page on a website is deleted. Remove the data associated with the URL resource.
- PUT: Put in the data for a particular URL to the new data submitted by the client.
- GET: Retrieve the information identified by the URL resource.
- TRACE: Run a remote, application-layer loop-back of the request message. Effectively a ‘ping’ which tests what data the Web server is receiving from the client.
- HEAD: Identical to GET except that the server returns header information only, not the actual information identified by the URL resource.
- CONNECT: Reserved for use with tunneling as defined only for HTTP version 1.1, and not for the earlier version of 1.0.
- POST: Submit data to the Web server such as post a message to a blog or forum.
A 501 not implemented error will result if the feature in the request HTTP stream is not one of the above. A method may be still be valid, but not really supported by a server. However this usually only happens for the new methods like CONNECT when it is received by these older type of web servers to not display at 501 not implemented error.