404

Not Found

Offiziell Unterstatus-Codes
Der Webserver konnte die angeforderte Ressource nicht finden

Allgemeine Erklärung des 404-Statuscodes

Bei dem 404 Not Found-Statuscode konnte der Server unter der angegebenen URL keine Ressource finden. Diese Meldung ist selbst unter nicht technischen Anwendern die bekannteste Fehlermeldung, da selbst bei großen Webseiten starre Linkstrukturen existieren und eine 404 Not Found-Fehlermeldung häufiger mal geworfen wird.

Spezifikation von dem HTTP statuscode 404

Der Statuscode 404 Not Found zeigt an, dass der Ursprungsserver keine aktuelle Darstellung für die Zielressource gefunden hat oder nicht bereit ist, die Existenz einer solchen offenzulegen. Ein 404 Not Found-Statuscode gibt nicht an, ob diese fehlende Darstellung vorübergehend oder dauerhaft ist; der 410 (Gone)-Statuscode wird gegenüber 404 Not Found bevorzugt, wenn der Ursprungsserver weiß, vermutlich durch einige konfigurierbare Mittel, dass der Zustand wahrscheinlich dauerhaft ist. Eine 404 Not Found-Antwort ist standardmäßig cachefähig, d. h., sofern die Methodendefinition oder explizite Cache-Kontrollen nichts anderes angeben (siehe Abschnitt 4.2.2 von [RFC7234]).

Quelle / Zitat von: Spezifiziert wird der 404 Not Found HTTP Status Code durch Abschnitt 6.5.4. von RFC7231

Wie kann man mit PHP einen 404-Statuscode werfen?

Um auf einer Webseite den HTTP Status Code 404 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(404) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste den 404 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 404 Not Found) und weitere Informationen clientseitig anzeigen zu können, muss die Entwicklungskonsole mit F12 geöffnet werden. Im Anschluss muss zu der Karteikarte "Netzwerk" navigiert werden. Jetzt kann die Seite geöffnet werden, im Netzwerktab sollte die Webseite (Beispiel index.php) zu sehen sein. Diese muss ausgewählt werden und im Anschluss der Bereich Herder gewählt werden. Hier sieht der Nutzer dann folgendes Ergebnis:

Statuscode 404 Not Found
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=404
Status: 404 Not Found
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 404 Not Found

Wie löse ich das Problem mit dem 404 Statuscode?

Der Statuscode 404 Not Found kann aus verschiedenen Gründen auftreten. Einige sind banal, andere doch etwas komplexer. Der wahrscheinlichste Grund ist, dass die URL falsch geschrieben wurde oder eine Verlinkung auf eine interne Seite falsch gesetzt wurde. Eine weitere Möglichkeit ist, dass die verlinkte Seite von dem Webserver gelöscht wurde und keine Folgestatuscode wie 410 (Gone) gesetzt wurde.

Ein etwas komplizierteres Fehlerbilder kann es aber auch geben. Wenn sichergestellt ist, dass weder die URL falsch geschrieben ist, noch die Ressource gelöscht wurde, kann auch eine Weiterleitung aus der "htaccess" Datei fehlerhaft sein. Fehlerhafte Weiterleitungen können oft mit Webtools erkannt werden.

Als letzte wahrscheinliche Möglichkeit kann auch ein Caching-Problem in bestacht gezogen werden. Entweder wurde das Problem serverseitig bereits gelöst, aber der Cache ihres Browsers lädt die Seite nicht neu, sondern aus dem lokalen Speicher, oder auch der Webserver lädt nicht die aktuelle Version. Hier sollte sowohl clientseitig als auch Serverseitig der Cache unbedingt geleert werden.

Wie erstellt man eine eigene Fehlerseite für den Statuscode 404

Eine eigene 404 Not Found Fehlerseite zu erstellen ist sowohl mit dem Webserver "Apache" als auch mit dem Webserver "NGINX", relativ leicht.

Apache Webserver

Der Webserver "Apache" gilt zu den meist verbreitetsten Webservern im Internet. Um einen eigene 404 Not Found Fehlerseite in"Apache" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

File: .htaccess
ErrorDocument 404 /errors/404.html

NGINX Webserver

Ähnlich wie der Webserver "Apache" ist auch "NGINX" im Internet weit verbreitet. Um einen eigene 404 Not Found Fehlerseite in "NGINX" zu erstellen, muss in folgender Datei folgende Änderung durchgeführt werden.

File: sites-enabled/default
error_page 404 /404.html;
location = /404.html {
    root /usr/share/nginx/html;
    internal;
}

Browser-Kompatibilität des 404 Statuscode

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

Was für SEO Auswirkungen hat der 404 Statuscode?

In der Welt der Suchmaschinenoptimierung (SEO) ist der 404 Not Found-Statuscode "Not Found" mehr als nur eine einfache Fehlermeldung. Er hat tatsächliche und greifbare Auswirkungen auf die Art und Weise, wie Suchmaschinen eine Website wahrnehmen und bewerten.

Wenn ein Benutzer oder ein Suchmaschinen-Crawler versucht, auf eine Seite zuzugreifen, die nicht vorhanden ist und dadurch einen 404 Not Found-Fehler zurückgibt, interpretieren Suchmaschinen dies als eine nicht vorhandene Seite. Ein sporadischer 404 Not Found-Fehler hier und da wird nicht zwangsläufig einen drastischen Einfluss auf das Suchmaschinenranking haben. Allerdings kann eine Häufung solcher Fehler Suchmaschinen signalisieren, dass die Website nicht gut gewartet oder aktualisiert wird.

Ein häufiges Auftreten von 404 Not Found-Fehlern kann von Suchmaschinen als Indikator für eine mangelhafte Website-Struktur oder -Wartung wahrgenommen werden. Dies wiederum kann sich negativ auf das Vertrauen auswirken, das die Suchmaschine in die Website hat. Und in der Welt der SEO ist Vertrauen alles. Eine Website, der Suchmaschinen vertrauen, wird tendenziell besser in den Suchergebnissen platziert.

Außerdem hat jede Website, wie zuvor erwähnt, ein Crawl-Budget. Dies bezieht sich auf die Anzahl der Seiten, die ein Suchmaschinen-Crawler in einer bestimmten Zeitspanne besuchen wird. Zu viele 404 Not Found-Fehler können dazu führen, dass ein erheblicher Teil dieses Budgets für nicht vorhandene Seiten verschwendet wird. Das bedeutet, dass neue oder aktualisierte Inhalte möglicherweise länger brauchen, um von Suchmaschinen entdeckt und indexiert zu werden.

Ein weiterer wichtiger Punkt ist der Verlust von Backlinks durch 404 Not Found-Fehler. Backlinks sind ein entscheidender Faktor für das Ranking, und wenn eine externe Seite auf eine URL verlinkt, die einen 404 Not Found-Fehler zurückgibt, wird dieser Link von Suchmaschinen nicht mehr als positiver Rankingfaktor gewertet.

Zusammengefasst kann gesagt werden, dass 404 Not Found-Fehler, obwohl sie an der Oberfläche harmlos erscheinen mögen, schwerwiegende Auswirkungen auf das Suchmaschinenranking einer Website haben können. Es ist daher im besten Interesse eines Webmasters, diese Fehler regelmäßig zu überwachen und zu beheben, um sicherzustellen, dass die Website ihre bestmögliche Position in den Suchergebnissen behält.

Konstanten in Programmiersprachen

HttpStatusCode.NotFound
http.StatusNotFound
response::HTTP_NOT_FOUND
httplib.NOT_FOUND
http.client.NOT_FOUND
http.HTTPStatus.NOT_FOUND
:not_found

Beispiel für "Client request" und "Server response" bei dem HTTP Statuscode 404

Client request:

GET /missingpage.php HTTP/1.1
Host: www.http-statuscode.com

Server response:

HTTP/1.1 404 Not Found
Content-Type: text/html

<html>
<head><title>404 Not Found</title></head>
<body>
<h1>Not Found</h1>
<p>The requested URL /missingpage.php was not found on this server.</p>
</body>
</html>

Unterstatuscodes des 404 Statuscode

Unterstatuscodes sind rein technisch, und sollten niemals dem Nutzer gesendet werden. Wenn beispielsweise der Statuscode 404.1 geworfen wird, kann dieser zwar geloggt werden, aber der Statuscode 404 wird dem User gesendet.:
404.0 Not found
HTTP IIS, Inoffiziell
404.1 Site Not Found
HTTP IIS, Inoffiziell
404.2 ISAPI or CGI restriction.
HTTP IIS, Inoffiziell
404.3 MIME type restriction.
HTTP IIS, Inoffiziell
404.4 No handler configured
HTTP IIS, Inoffiziell
404.5 Denied by request filtering configuration
HTTP IIS, Inoffiziell
404.6 Verb denied
HTTP IIS, Inoffiziell
404.7 File extension denied
HTTP IIS, Inoffiziell
404.8 Hidden namespace
HTTP IIS, Inoffiziell
404.9 Files attribute hidden
HTTP IIS, Inoffiziell
404.10 Request header too long
HTTP IIS, Inoffiziell
404.11 Request contains double escape sequence
HTTP IIS, Inoffiziell
404.12 Request contains high-bit characters
HTTP IIS, Inoffiziell
404.13 Content length too large
HTTP IIS, Inoffiziell
404.14 Request URL too long
HTTP IIS, Inoffiziell
404.15 Query string too long
HTTP IIS, Inoffiziell
404.16 DAV request sent to the static file handler
HTTP IIS, Inoffiziell
404.17 Dynamic content mapped to the static file handler
HTTP IIS, Inoffiziell
404.18 Querystring sequence denied
HTTP IIS, Inoffiziell
404.19 Denied by filtering rule
HTP IIS, Inoffiziell
404.20 Too Many URL Segments
HTTP IIS, Inoffiziell
404.501 Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached
HTTP IIS, Inoffiziell
404.502 Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached
HTTP IIS, Inoffiziell
404.503 the IP address is included in the Deny list of IP Restriction
HTTP ISS, Inoffiziell
404.504 the host name is included in the Deny list of IP Restriction
HTTP IIS, Inoffiziell

Blog Artikel

HTTP-Statuscodes: Eine detaillierte Analyse der Fehlermeldungen 404 Not Found und 410 Gone

HTTP-Statuscodes sind ein wesentlicher Bestandteil des Hypertext Transfer Protocol (HTTP), das die Grundlage für die Kommunikation zwischen Webbrowsern und Webservern bildet. Sie ermöglichen es, de...

SEO und HTTP-Statuscodes: Eine umfassende Analyse

Die Optimierung einer Website für Suchmaschinen (SEO) ist ein komplexes Unterfangen. Einer der oft übersehenen, aber entscheidenden Aspekte für ein gutes Ranking sind HTTP-Statuscodes. Diese kleine...

Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser ist ein begeisterter Webentwickler mit einer Vorliebe für HTTP Statuscodes.

LinkedInGitHub