GetNetGoing helps make networks work

Bookmark and Share

Help for HTTP error 501: “Not Implemented”

This HTTP error occurs when you try to access a web server using a “method” that the server does not support. The most commonly used and supported HTTP methods are GET and POST, though other methods are also defined, e.g. OPTIONS, TRACE, HEAD, PUT and DELETE.

Outline: Symptoms   Cause   What you can do about it   Extra information

Symptoms

Internet Explorer may report this as “The website is unable to display the webpage

Microsoft Windows Update reports HTTP 501 errors with error code 0x80244020 (hexadecimal 80244020).

Apache web servers report this as follows (text in blue may vary):

Method Not Implemented

GET to /index.html not supported.

Cause

Official description

e.g., if you copy content from a web page that links to images, and paste it in an OpenOffice document, then when you use OpenOffice to open the document, OpenOffice will try the PROPFIND method on the original links, which can lead to HTTP 501 errors on many servers that do not support PROPFIND.

Microsoft Knowledge Base article 942058 (“Error message when you visit a Web site that is hosted on IIS 7.0: “HTTP Error 501.0 - Not Implemented””) gives the example of an IIS web server returning this error when the client sends a requests to use the TRACE method.

What you can do about it

You can determine which methods a server supports by sending it an OPTIONS request. The easiest way to manually send such a request is to connect to the web server (usually operating on port 80) using telnet. The example below shows that the www.example.com web server allows the GET, HEAD, POST, OPTIONS, and TRACE methods.
$ telnet www.example.com 80
Trying 192.0.32.10...
Connected to www.example.com.
Escape character is '^]'.
OPTIONS / HTTP/1.1

HTTP/1.1 200 OK
Date: Tue, 08 Dec 2009 02:29:38 GMT
Server: Apache/2.2.3 (CentOS)
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Connection: close

Connection closed by foreign host.
$
Note that you must press the Enter key twice after typing the “OPTIONS...” text that appears in red.

The example above was created on a Linux machine. To do this on a Windows machine:

  1. On Windows Vista or Windows 7, enable the telnet client in the Control Panel by selecting “Programs”, then “Program and Features” then “Turn Windows Feature on or off” and then select the telnet client.
  2. Open a Command Prompt before typing the telnet command line.
  3. telnet will clear the screen, and by default won't display what you type. To see what you type, press Ctrl+] then type set localecho and press Enter twice to return to interacting with the web server

Extra information

HTTP 501 errors occur when a method is not supported throughout a site, whereas HTTP 405 errors relate to methods not being supported for particular objects on a site.

Some IIS web server documentation refers to methods as “verb”s.

Web-sniffer allows you to experiment by sending HEAD and TRACE requests.

Copyright (C) 2012 | Site map | Contact us