Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
HTTP 404
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Internet error message}} {{Redirect|404 Not Found|the TV episode|404 Not Found (Mr. Robot){{!}}404 Not Found (''Mr. Robot'')}} {{pp-move-indef}} {{pp-semi-indef}} {{HTTP}} {{Use dmy dates|date=October 2020}} In [[Data communication|computer network communications]], the '''HTTP 404''', '''404 not found''', '''404''', '''404 error''', '''page not found''', or '''file not found''' [[error message]] is a [[hypertext transfer protocol]] (HTTP) [[List of HTTP status codes|standard response code]], to indicate that the [[Web browser|browser]] was able to communicate with a given [[Server (computing)|server]], but the server could not find what was requested. The error may also be used when a server does not wish to disclose whether it has the requested information.<ref name="section-654">{{cite IETF|rfc=7231|section=6.5.4|title= HTTP/1.1 Semantics and Content |sectionname=404 Not Found|publisher=Internet Engineering Task Force (IETF)|date=June 2014 |access-date=2018-12-13|editor-last1=Fielding |editor-last2=Reschke |editor-first1=R |editor-first2=J|s2cid=14399078 }}</ref> The website hosting server will typically generate a "404 Not Found" web page when a user attempts to follow a [[link rot|broken or dead link]]; hence the 404 error is one of the most recognizable errors encountered on the [[World Wide Web]]. [[File:Wikimedia error 404.png|thumb|[[English Wikipedia]]'s 404 page]] ==Overview== 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 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 [[File Transfer Protocol|FTP]] and [[Network News Transfer Protocol|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"<ref name="section-654" /> 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 [[Domain Name System|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. ==Soft 404 errors== {{anchor|Soft 404}} 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''. The term "soft 404" was introduced in 2004 by Ziv Bar-Yossef ''et al''.<ref>{{Cite book |author1=Ziv Bar-Yossef |author2=Andrei Z. Broder |author3=Ravi Kumar |author4=Andrew Tompkins |title=Proceedings of the 13th international conference on World Wide Web |chapter=Sic transit gloria telae |date=2004 |pages=328β337 |doi=10.1145/988672.988716 |isbn=978-1581138443 |s2cid=587547 }}</ref> Soft 404s are problematic for automated methods of discovering whether a link is broken. Some search engines, like [[Yahoo]] and [[Google]], use automated processes to detect soft 404s.<ref>{{cite web|title=Why is your crawler asking for strange URLs that have never existed on my site?|url=http://help.yahoo.com/l/nl/yahoo/ysearch/slurp/slurp-10.html|url-status=dead|archive-url=https://web.archive.org/web/20140715000803/http://help.yahoo.com/l/nl/yahoo/ysearch/slurp/slurp-10.html|archive-date=15 July 2014|access-date=4 September 2013|publisher=Yahoo Ysearch Help page}}</ref> Soft 404s can occur as a result of configuration errors when using certain HTTP server software, for example with the [[Apache HTTP Server|Apache]] software, when an Error Document 404 (specified in a [[.htaccess]] file) is specified as an absolute path (e.g. <nowiki>http://example.com/error.html</nowiki>) rather than a relative path (/error.html).<ref>{{cite web|url=http://googlewebmastercentral.blogspot.com/2008/08/farewell-to-soft-404s.html|title=Farewell to soft 404s |publisher=Google Official Blog|access-date=20 September 2008}}</ref> 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). There are also "soft 3XX" errors where content is returned with a status 200 but comes from a redirected page, such as when missing pages are redirected to the domain root/home page. === Proxy servers === Some [[proxy server]]s generate a 404 error when a [[List of HTTP status codes#5xx server errors|500-range error code]] would be more correct. If the proxy server is unable to satisfy a request for a page because of a problem with the remote host (such as hostname resolution failures or refused TCP connections), this should be described as a 5xx Internal Server Error, but might deliver a 404 instead. 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. === Intentional 404s === In July 2004, the UK telecom provider [[BT Group]] deployed the [[Cleanfeed (content blocking system)|Cleanfeed]] content blocking system, which returns a 404 error to any request for content identified as potentially illegal by the [[Internet Watch Foundation]].<ref>{{cite web |url=https://publicaffairs.linx.net/news/?p=154 |title=LINX Public Affairs Β» Cleanfeed: the facts |publisher=Publicaffairs.linx.net |date=10 September 2004 |access-date=6 March 2011 |archive-url=https://web.archive.org/web/20110513071912/https://publicaffairs.linx.net/news/?p=154 |archive-date=13 May 2011 |url-status=dead}}</ref> Other ISPs return a [[HTTP 403]] "forbidden" error in the same circumstances.<ref>{{cite web|url=https://airbrake.io/blog/http-errors/403-forbidden-error|title=DEMON β Error 403|access-date=14 June 2012}}</ref> The practice of employing fake 404 errors as a means to conceal [[censorship]] has also been reported in [[Thailand]]<ref>{{cite news|last=Sambandaraksa|first=Don|date=18 February 2009|title=The old fake '404 Not Found' routine - Dead link|newspaper=Bangkok Post|url=http://www.bangkokpost.com/tech/technews/11872/the-old-fake-404-not-found-routine|access-date=12 September 2010}}</ref> and [[Tunisia]].<ref>{{cite web |url=http://opennet.net/node/950 |title=Tunisian journalist sues government agency for blocking Facebook, claims damage for the use of 404 error message instead of 403 |first=Helmi |last=Noman |date=12 September 2008 |publisher= Open Net Initiative |access-date=21 November 2010}}</ref> In Tunisia, where censorship was severe before the [[Tunisian Revolution|2011 revolution]], people became aware of the nature of the fake 404 errors and created an imaginary character named "[[Ammar 404#Censorship during the Ben Ali regime|Ammar 404]]" who represents "the invisible censor".<ref>{{cite web|date=27 May 2010|title=Anti-censorship movement in Tunisia: creativity, courage and hope!|url=http://advocacy.globalvoicesonline.org/2010/05/27/anti-censorship-movement-in-tunisia-creativity-courage-and-hope/|access-date=28 August 2010|publisher=Global Voices Advocacy}}</ref> ==Microsoft Internet Server 404 substatus error codes== The webserver software developed by Microsoft, [[Internet Information Services|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 [[Internet Assigned Numbers Authority|IANA]] and are not returned by non-Microsoft servers. ===Substatus codes=== 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 [[Common Gateway Interface|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. ==Custom error pages== [[File:Wikimedia error 404.png|thumb|The Wikimedia 404 message]] [[Web server]]s 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.<ref>{{cite web|url=http://blogs.msdn.com/b/ieinternals/archive/2010/08/19/http-error-pages-in-internet-explorer.aspx|title=Friendly HTTP Error Pages|date=18 August 2010|publisher=msdn.com|access-date=14 June 2012|archive-url=https://web.archive.org/web/20101202044514/http://blogs.msdn.com/b/ieinternals/archive/2010/08/19/http-error-pages-in-internet-explorer.aspx|archive-date=2 December 2010|url-status=dead}}</ref> [[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.<ref>{{Cite web|title=Issue 1695: Chrome needs option to turn off "Friendly 404" displays|url=https://bugs.chromium.org/p/chromium/issues/detail?id=1695|access-date=2021-12-25|website=bugs.chromium.org}}</ref> Another problem is that if the page does not provide a [[favicon]], and a separate custom 404-page exists, extra traffic and longer loading times will be generated on every page view.<ref>{{cite web|url=http://www.thesitewizard.com/archive/favicon.shtml|title=What is Favicon.ico and How to Create a Favicon Icon for Your Website|last=Heng|first=Christopher|date=7 September 2008|website=The Site Wizard|access-date=23 February 2011}}</ref><ref>{{cite web|url=http://internetfolks.com/dastardly-favicon-ico-found-error/|title=The Dastardly "favicon.ico not found" Error|date=3 August 1999|work=Internet Folks}}</ref> 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.<ref>{{cite news|url=http://metro.co.uk/2013/04/16/from-skateboarding-bears-to-missing-children-the-power-of-the-404-not-found-error-page-3591031/|title=From skateboarding bears to missing children: The power of the 404 Not Found error page|date=6 June 2011|access-date=16 April 2013|publisher=Metro}}</ref> During the [[2015 United Kingdom general election|2015 UK general election]] campaign the main political parties all used their 404 pages to either take aim at political opponents or show relevant policies to potential supporters.<ref>{{cite web|url=http://www.bbc.co.uk/newsbeat/article/32480181/the-political-page-404-war|title=The political Page 404 war|date=27 April 2015|website=BBC Newsbeat|access-date=18 May 2018}}</ref> In Europe, the [[NotFound project]], created by multiple European organizations including [[Missing Children Europe]] and [[Child Focus]], encourages site operators to add a [[Snippet (programming)|snippet of code]] to serve customized 404 error pages<ref>{{cite web|title=Notfound.org|url=http://notfound.org/notfound|url-status=dead|archive-url=https://web.archive.org/web/20140902081543/http://notfound.org/notfound|archive-date=2 September 2014|website=notfound}}</ref> which provide data about [[missing children]].<ref>{{cite news|url=https://www.bbc.com/news/technology-19741350|title=Missing children messages go on 404 error pages|date=27 September 2012|work=[[BBC News]]|access-date=20 September 2014}}</ref> 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 [[content management system]]s (CMSs) to do this.<ref>{{cite web|url=http://googlewebmastercentral.blogspot.com/2008/08/make-your-404-pages-more-useful.html|title=Make your 404 pages more useful|last=Swenson|first=Sahala|date=19 August 2008|work=Official Google Webmaster Central Blog|publisher=Google, Inc|access-date=28 August 2009}}</ref> ==Tracking 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.<ref>{{cite web|url=https://springtrax.com/key-stats-about-404-errors/default.htm#/section4|title=Sources Leading To 404s|publisher=SpringTrax|access-date=11 February 2013}}</ref> One way around this is to find 404 errors by analyzing external links.<ref>{{cite web|url=http://searchengineland.com/a-data-centric-approach-to-identifying-404-pages-worth-saving-152844|title=A Data-Centric Approach To Identifying 404 Pages Worth Saving|last=Cushing|first=Anne|date=2 April 2013|publisher=Search Engine Land|access-date=7 June 2013}}</ref> One of the most effective ways to discover 404 errors is by using [[Google Search Console]], [[Google Analytics]] or crawling software. Another common method is tracking traffic to 404 pages using log file analysis.<ref>{{cite web|url=http://www.404errorpages.com/#tracking|title=Tracking and Preventing 404 Errors|publisher=404errorpages.com|access-date=7 June 2013}}</ref> This can be useful to understand more about what 404s users reached on the site. Another method of tracking traffic to 404 pages is using JavaScript-based traffic tracking tools.<ref>{{cite web|url=https://springtrax.com/how-springtrax-helps/understand-your-websites-404-errors.htm|title=Understand 404 Errors|publisher=SpringTrax.com|access-date=7 June 2013}}</ref> ==See also== {{portal|Internet|Computer programming}} * [[Blue screen of death]] * [[Funky caching]] * [[Link rot]] * [[List of HTTP status codes]] ==References== {{Reflist}} ==External links== * [http://alistapart.com/article/amoreuseful404 A More Useful 404] * {{cite IETF |rfc=7231|section=6.5.4 |sectionname=404 Not Found|title= Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |publisher= [[Internet Engineering Task Force]]}} * [http://httpd.apache.org/docs/2.4/mod/core.html#errordocument ErrorDocument Directive] β instructions on custom error pages for the [[Apache HTTP Server|Apache 2.0 web server]] * [http://www.ovff.org/pegasus/songs/404-not-found.html 404: Not Found] β an award-winning [[filk]] song about the error code {{Error messages}} {{DEFAULTSORT:Http 404}} [[Category:Computer errors]] [[Category:Hypertext Transfer Protocol status codes]] [[Category:Internet terminology]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Cite IETF
(
edit
)
Template:Cite book
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Error messages
(
edit
)
Template:HTTP
(
edit
)
Template:Portal
(
edit
)
Template:Pp-move-indef
(
edit
)
Template:Pp-semi-indef
(
edit
)
Template:Redirect
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use dmy dates
(
edit
)