
Microsoft Internet Information Services (IIS) web servers report this error as “HTTP Error 404 - File or Directory not found”. They may also provide extended codes that give a more specific reason of the error:
| Extended code |
Reason |
Description1 |
| 404.0 |
Not found |
“The file that you are trying to access was moved or does not exist.”
See also Microsoft Knowledge Base article 942041
|
| 404.1 |
Site Not Found |
Your request reached a web server, but the server does not accept requests from the port (e.g. TCP port 80) or IP address on which this request came.
See also Microsoft Knowledge Base article 248034
|
| 404.2 |
ISAPI or CGI restriction |
“The requested ISAPI resource or the requested CGI resource is restricted on the computer.”
See also Microsoft Knowledge Base article 942040
|
| 404.3 |
MIME type restriction |
“The current MIME mapping for the requested extension type is not valid or is not configured.”
See also Microsoft Knowledge Base article 942032 |
| 404.4 |
No handler configured |
“The file name extension of the requested URL does not have a handler that is configured to process the request on the Web server.”
See also Microsoft Knowledge Base article 942052 |
| 404.5 |
Denied by request filtering configuration |
“The requested URL contains a character sequence that is blocked by the server.”
See also Microsoft Knowledge Base article 942053 |
| 404.6 |
Verb denied |
“The request is made by using an HTTP verb that is not configured or that is not valid.”
This relates to a particular site on a web server, whereas HTTP 501 errors relate to a whole server.
See also Microsoft Knowledge Base article 942046 |
| 404.7 |
File extension denied |
“The requested file name extension is not allowed.”
See also Microsoft Knowledge Base article 942045 |
| 404.8 |
Hidden namespace |
“The requested URL is denied because the directory is hidden.”
See also Microsoft Knowledge Base article 942047 |
| 404.9 |
File attribute hidden |
“The requested file is hidden.”
See also Microsoft Knowledge Base article 942049 |
| 404.10 |
Request header too long;2 |
“The request is denied because the request headers are too long.&rdquo
To fix this, follow the procedure for HTTP 400 “Header line too long” errors.
See also Microsoft Knowledge Base article 942077
|
| 404.11 |
Request contains double escape sequence2 |
See also Microsoft Knowledge Base article 942076
|
| 404.12 |
Request contains high-bit characters2 |
“The request contains high-bit characters, and the server is configured not to allow high-bit characters.”
See also Microsoft Knowledge Base article 942075
|
| 404.13 |
Content length too large2 |
“The request contains a Content-Length header. The value of the Content-Length header is larger than the limit that is allowed for the server.”
See also Microsoft Knowledge Base article 942074
HTTP status code 413 “Request Entity Too Large” is the standardized response for this situation.
|
| 404.14 |
Request URL too long2 |
“The requested URL exceeds the limit that is allowed for the server.”
To fix this, follow the procedure for HTTP 400 “Header line too long” errors.
See also Microsoft Knowledge Base article 942073
HTTP status code 414 “Request-URI Too Long” is the standardized response for this situation.
|
| 404.15 |
Query string too long2 |
“The request contains a query string that is longer than the limit that is allowed for the server.”
To fix this, follow the procedure for HTTP 400 “Header line too long” errors.
See also Microsoft Knowledge Base article 942071
|
| 404.16 |
DAV request sent to the static file handler |
|
| 404.17 |
Dynamic content mapped to the static file handler via a wildcard MIME mapping |
|
Causes
The official description states that “This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.”
HTTP 404 Not Found errors can be caused by:
- A web site removing or rearranging content
- An incorrect address, e.g. one damaged by typographical error or truncation
- Your computer being forbidden from accessing an object. HTTP 403 errors are more common in that situation, but the definition of HTTP 403 errors says that:
“If the server does not wish to make this information [why the request has not been fulfilled] available to the client, the status code 404 (Not Found) can be used instead.”
- Some filtering systems return a HTTP 404 response when the user attempts to access content that has been blocked, e.g. BT Group's Cleanfeed system
Some sites don't cause HTTP 404 errors when they should, and instead report “soft 404”s which consist of a HTTP 200 OK response code that carries HTML text that describes the Not Found error. This practice is discouraged.
How to fix it
- Incorrect addresses are likely when the address was entered manually or sent through email.
- Check capitalization of the object pathname, i.e. the part of the address that follows the third slash / in the address, shown in red here: http://www.getnetgoing.com/http-404.html would not be found on this server, whereas http://www.getnetgoing.com/HTTP-404.html would be found.
- Extra punctuation
The URL should not end with punctuation other than, possibly, a slash (/). If someone copied the URL from a document then they might have mistakenly copied punctuation (e.g. .,;") that surrounded the URL in the document.
- Truncated address This is common when addresses are sent through email systems that insert line breaks after 80 characters or so. If you copied an address from such a source, then check whether the address is continued on the next line.
- General typographical errors, e.g. letters omitted, misordered, or replaced by keys that are adjacent on the keyboard.
- Try reducing the URL to find related material (higher in the web server's hierarchy), which may include new directions to the object of interest.
Do this by removing text after, and including, the last slash in the address, and repeating until you can load a page or only the slashes in “http://” remain. e.g.:
http://www.getnetgoing.com/demo/errors/http/404
http://www.getnetgoing.com/demo/errors/http
http://www.getnetgoing.com/demo/errors
You may encounter HTTP 403 errors when doing this.
- Search for key words from the address
Note that you can focus search engine results on a particular website by specifying “site:example.com” as part of the query, where “
example.com” is the site that you are trying to access.
e.g. to troubleshoot the address http://www.getnetgoing.com/http-404.html you could try a Google search for “http 404 site:getnetgoing.com”
- Try checking for an archived copy of the object, e.g. by entering the address in The Internet Archive Wayback Machine.
More directly, you can insert http://web.archive.org/web/*/ before the http:// in the address bar of your browser, and press Enter.
e.g. http://www.getnetgoing.com becomes http://web.archive.org/web/*/http://www.getnetgoing.com
This is particularly effective when the website has removed or moved the object, rather than the address being incorrect (which may be rectified by reducing the URL or searching for keywords from the address).
Extra information
If the server has been configured to know that the object:
- no longer exists (but previously did) then it returns a HTTP 410 Gone error code.
- has moved to a different address, then it should redirect the client with a HTTP 301, 302 or 307 response
However, those response codes require deliberate configuration of the server for the object that has disappeared or moved, and such configuration is not always done.
Wikipedia has articles about:
404 Error Pages gives more information about HTTP 404 errors.
Several sites suggest HTTP 404 error pages that are more creative than web server defaults:
The Microsoft Knowledge Base has several articles about how Microsoft products handle HTTP 404 errors.
Footnotes
1 The Microsoft Knowledge Base articles cited in this table only give advice about server-side troubleshooting. Text that appears in quotes is Microsoft's official description.
2 Header lines that are too long or contain invalid characters can also lead to HTTP 400 errors.
Updated 14 June 2012
|