# HTTP 404

HTTP 404 ist ein Statuscode des Hypertext Transfer Protocol (HTTP). Er wird von einem Webserver als Antwort zurückgegeben, wenn unter dem vom Webbrowser angeforderten Uniform Resource Locator (URL) kein Dokument vorhanden ist, das heißt die Webseite oder Datei ist nicht vorhanden. Der Fehlercode kann auch verwendet werden, wenn ein Server nicht bekannt geben will, ob er die angeforderten Informationen hat.
Der Webserver generiert in der Regel eine Webseite mit einer „404 Not Found“-Fehlermeldung, wenn ein Benutzer versucht, einem toten Link zu folgen; daher ist der 404-Fehler einer der bekanntesten Fehler, die im World Wide Web auftreten.

## Übersicht

Bei der Kommunikation über HTTP muss ein Server auf eine Anfrage, z. B. die Anfrage eines Webbrowsers nach einer Webseite, mit einem numerischen Antwortcode und einer optionalen, obligatorischen oder nicht zugelassenen (auf dem Statuscode basierenden) Nachricht antworten. Beim Code 404 zeigt die erste Ziffer einen Client-Fehler an, z. B. einen falsch eingegebenen Uniform Resource Locator (URL). Die beiden folgenden Ziffern geben den aufgetretenen Fehler an. Die Verwendung dreistelliger Codes durch HTTP ähnelt der Verwendung solcher Codes in früheren Protokollen wie FTP und NNTP. Auf der HTTP-Ebene folgt auf einen 404-Antwortcode ein für den Menschen lesbarer „Grundsatz“. Die HTTP-Spezifikation schlägt den Ausdruck „Not Found“ vor, und viele Webserver geben standardmäßig eine HTML-Seite aus, die sowohl den 404-Code als auch den Not-Found-Ausdruck enthält. Weil die bevorzugte menschliche Sprache des Klienten oft übermittelt wurde, erfolgt gern zusätzlich eine Übersetzung und weitere Hinweise, falls bekannt.
Ein 404-Fehler wird häufig zurückgegeben, wenn Seiten verschoben oder gelöscht wurden. Im ersten Fall ist es besser, ein URL-Mapping oder eine URL-Umleitung zu verwenden, indem eine 301 Moved Permanently-Antwort zurückgegeben wird, die in den meisten Serverkonfigurationsdateien konfiguriert werden kann, oder durch URL-Rewriting; im zweiten Fall sollte ein 410 Gone zurückgegeben werden. Da diese beiden Optionen eine spezielle Serverkonfiguration erfordern, machen die meisten Websites keinen Gebrauch davon.
404-Fehler sollten nicht mit DNS-Fehlern verwechselt werden, die auftreten, wenn die angegebene URL auf einen Servernamen verweist, der nicht existiert. Ein 404-Fehler zeigt an, dass der Server selbst gefunden wurde, aber nicht in der Lage war, die angeforderte Seite abzurufen.

## Microsoft Internet Server 404 substatus Fehlercodes

Die von Microsoft entwickelte Webserver-Software, Microsofts Internet Information Services (IIS), gibt mit ihren 404-Antworten eine Reihe von Substatuscodes zurück. Die Substatus-Codes werden in Form von Dezimalzahlen an den 404-Statuscode angehängt. Die Substatus-Codes sind von der IANA nicht offiziell anerkannt und werden von Nicht-Microsoft-Servern nicht zurückgegeben.

### Substatus-Codes

* 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.