|Security Access Control methods|
The HTTP 404, 404 Not Found and 404 error message is a Hypertext Transfer Protocol (HTTP) standard response code, in computer network communications, to indicate that the client was able to communicate with a given server, but the server could not find what was requested.
The website hosting server will typically generate a "404 Not Found" web page when a user attempts to follow a broken or dead link; hence the 404 error is one of the most recognizable errors encountered on the World Wide Web.
When communicating via HTTP, a server is required to respond to a request, such as a web browser request for a web page, with a numeric response code and an optional, mandatory, or disallowed (based upon the status code) message. In the code 404, the first digit indicates a client error, such as a mistyped Uniform Resource Locator (URL). The following two digits indicate the specific error encountered. HTTP's use of three-digit codes is similar to the use of such codes in earlier protocols such as FTP and NNTP.
At the HTTP level, a 404 response code is followed by a human-readable "reason phrase". The HTTP specification suggests the phrase "Not Found" and many web servers by default issue an HTML page that includes both the 404 code and the "Not Found" phrase.
A 404 error is often returned when pages have been moved or deleted. In the first case, it is better to employ URL mapping or URL redirection by returning a 301 Moved Permanently response, which can be configured in most server configuration files, or through URL rewriting; in the second case, a 410 Gone should be returned. Because these two options require special server configuration, most websites do not make use of them.
404 errors should not be confused with DNS errors, which appear when the given URL refers to a server name that does not exist. A 404 error indicates that the server itself was found, but that the server was not able to retrieve the requested page.
Custom error pages
Web servers can typically be configured to display a customised 404 error page, including a more natural description, the parent site's branding, and sometimes a site map, a search form or 404 page widget. The protocol level phrase, which is hidden from the user, is rarely customized.
Internet Explorer, however, will not display custom pages unless they are larger than 512 bytes, opting instead to display a "friendly" error page. Google Chrome included similar functionality, where the 404 is replaced with alternative suggestions generated by Google algorithms, if the page is under 512 bytes in size.
Many organizations use 404 error pages as an opportunity to inject humor into what may otherwise be a serious website. For example, Metro UK shows a polar bear on a skateboard, and the web development agency Left Logic has a simple drawing program.
While many websites send additional information in a 404 error message—such as a link to the homepage of a website or a search box—some also endeavor to find the correct web page the user wanted. Extensions are available for some popular content management systems (CMSs) to do this.
In Europe, the NotFound project, created by multiple European organizations including Missing Children Europe and Child Focus, encourages site operators to add a snippet of code to serve customised 404 error pages which provide data about missing children.
Tracking/checking 404 errors
A number of tools exist that crawl through a website to find pages that return 404 status codes. These tools can be helpful in finding links that exist within a particular website. The limitation of these tools is that they only find links within one particular website, and ignore 404s resulting from links on other websites. As a result, these tools miss out on 83% of the 404s on websites. One way around this is to find 404 errors by analyzing external links.
Soft 404 errors
Some websites report a "not found" error by returning a standard web page with a "200 OK" response code, falsely reporting that the page loaded properly; this is known as a soft 404. Soft 404s are problematic for automated methods of discovering whether a link is broken. Some search engines, like Yahoo, use automated processes to detect soft 404s. Soft 404s can occur as a result of configuration errors when using certain HTTP server software, for example with the Apache software, when an Error Document 404 (specified in a .htaccess file) is specified as an absolute path (e.g. http://example.com/error.html) rather than a relative path (/error.html). This can also be done on purpose to force some browsers (like Internet Explorer) to display a customized 404 error message rather than replacing what is served with a browser-specific "friendly" error message (in Internet Explorer, this behavior is triggered when a 404 is served and the received HTML is shorter than a certain length, and can be manually disabled by the user).
Some proxy servers generate a 404 error when the remote host is not present, rather than returning the correct 500-range code when errors such as hostname resolution failures or refused TCP connections prevent the proxy server from satisfying the request. This can confuse programs that expect and act on specific responses, as they can no longer easily distinguish between an absent web server and a missing web page on a web server that is present.
In July 2004, the UK telecom provider BT Group deployed the Cleanfeed content blocking system, which returns a 404 error to any request for content identified as potentially illegal by the Internet Watch Foundation. Other ISPs return a HTTP 403 "forbidden" error in the same circumstances. The practice of employing fake 404 errors as a means to conceal censorship has also been reported in Thailand and Tunisia. In Tunisia, where censorship was severe before the 2011 revolution, people became aware of the nature of the fake 404 errors and created an imaginary character named "Ammar 404" who represents "the invisible censor".
Microsoft Internet Server 404 substatus error codes
The webserver software developed by Microsoft, Microsoft's Internet Information Services (IIS), returns a set of substatus codes with its 404 responses. The substatus codes take the form of decimal numbers appended to the 404 status code. The substatus codes are not officially recognized by IANA and are not returned by non-Microsoft servers.
Microsoft's IIS 7.0, IIS 7.5, and IIS 8.0 servers define the following HTTP substatus codes to indicate a more specific cause of a 404 error:
- 404.0 – Not found.
- 404.1 – Site Not Found.
- 404.2 – ISAPI or CGI restriction.
- 404.3 – MIME type restriction.
- 404.4 – No handler configured.
- 404.5 – Denied by request filtering configuration.
- 404.6 – Verb denied.
- 404.7 – File extension denied.
- 404.8 – Hidden namespace.
- 404.9 – File attribute hidden.
- 404.10 – Request header too long.
- 404.11 – Request contains double escape sequence.
- 404.12 – Request contains high-bit characters.
- 404.13 – Content length too large.
- 404.14 – Request URL too long.
- 404.15 – Query string too long.
- 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.
- 404.18 – Query string sequence denied.
- 404.19 – Denied by filtering rule.
- 404.20 – Too Many URL Segments.
Slang use of "404"
In 2008, a study carried out by the telecommunications arm of the Royal Mail found that "404" became a slang synonym for "clueless" in the United Kingdom. Slang lexicographer Jonathon Green said that "404" as a slang term had been driven by the "influence of technology" and young people, but at the time, such usage was relatively confined to London and other urban areas.
- "6.5.4 404 Not Found". ietf.org. Retrieved 2014-07-25.
- "Friendly HTTP Error Pages". msdn.com. 18 August 2010. Retrieved 14 June 2012.
- Heng, Christopher (7 September 2008). "What is Favicon.ico and How to Create a Favicon Icon for Your Website". The Site Wizard. Retrieved 23 February 2011.
- "The Dastardly "favicon.ico not found" Error". Internet Folks. 3 August 1999.
- "From skateboarding bears to missing children: The power of the 404 Not Found error page". Metro. 6 June 2011. Retrieved 16 April 2013.
- "The political Page 404 war". BBC Newsbeat. 27 April 2015. Retrieved 18 May 2018.
- Swenson, Sahala (19 August 2008). "Make your 404 pages more useful". Official Google Webmaster Central Blog. Google, Inc. Retrieved 28 August 2009.
- "Notfound.org". Archived from the original on 2 September 2014.
- "Missing children messages go on 404 error pages". BBC News. 27 September 2012. Retrieved 20 September 2014.
- "Sources Leading To 404s". SpringTrax. Retrieved 11 February 2013.
- Cushing, Anne (2 April 2013). "A Data-Centric Approach To Identifying 404 Pages Worth Saving". Search Engine Land. Retrieved 7 June 2013.
- "Tracking and Preventing 404 Errors". 404errorpages.com. Retrieved 7 June 2013.
- "Understand 404 Errors". SpringTrax.com. Retrieved 7 June 2013.
- "Why is your crawler asking for strange URLs that have never existed on my site?". Yahoo Ysearch Help page. Retrieved 4 September 2013.
- "Farewell to soft 404s". Google Official Blog. Retrieved 20 September 2008.
- "LINX Public Affairs » Cleanfeed: the facts". Publicaffairs.linx.net. 10 September 2004. Retrieved 6 March 2011.
- "DEMON – Error 403". Retrieved 14 June 2012.[permanent dead link]
- Sambandaraksa, Don (18 February 2009). "The old fake '404 Not Found' routine". Bangkok Post. Retrieved 12 September 2010.
- Noman, Helmi (12 September 2008). "Tunisian journalist sues government agency for blocking Facebook, claims damage for the use of 404 error message instead of 403". Open Net Initiative. Retrieved 21 November 2010.
- "Anti-censorship movement in Tunisia: creativity, courage and hope!". Global Voices Advocacy. 27 May 2010. Archived from the original on 7 July 2012. Retrieved 28 August 2010.
- "Don't be 404, know the tech slang". BBC News Online. 10 December 2008. Retrieved 13 December 2008.
- A More Useful 404
- 404 Not Found of the Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content specification, at the Internet Engineering Task Force
- ErrorDocument Directive – instructions on custom error pages for the Apache 2.0 web server