404

Not Found

Oficiální stránky Kódy dílčích stavů
Webový server nenašel požadovaný prostředek

Obecné vysvětlení stavového kódu 404

Stavový kód 404 Not Found znamená, že server nemohl najít prostředek pod zadanou adresou URL. Tato zpráva je nejznámější chybovou zprávou i mezi netechnickými uživateli, protože i velké webové stránky mají pevnou strukturu odkazů a chybová zpráva 404 Not Found se vyhazuje častěji.

Specifikace stavového kódu HTTP 404

Stavový kód 404 Not Found znamená, že server původu nenašel aktuální reprezentaci cílového prostředku nebo není ochoten existenci takové reprezentace zveřejnit. Stavový kód 404 Not Found neuvádí, zda je tato chybějící reprezentace dočasná nebo trvalá; stavový kód 410 (Gone) je upřednostňován před kódem 404 Not Found, pokud server původu ví, pravděpodobně nějakým konfigurovatelným způsobem, že stav bude pravděpodobně trvalý. Odpověď 404 Not Found je ve výchozím nastavení uložitelná do mezipaměti, tj. pokud definice metody nebo explicitní řízení mezipaměti neuvádí jinak (viz oddíl 4.2.2 [RFC7234]).

Zdroj / Citace z: Stavový kód 404 Not Found HTTP je specifikován v oddílu 6.5.4. oddílu RFC7231.

Jak vyhodit stavový kód 404 pomocí PHP?

Pro zobrazení stavového kódu HTTP 404 na webové stránce lze použít funkci PHP http_response_code. Syntaxe je následující: http_response_code(404) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testování stavového kódu HTTP 404

Aby bylo možné zobrazit stavový kód HTTP (v tomto případě 404 Not Found) a další informace na straně klienta, je třeba otevřít vývojovou konzolu pomocí klávesy F12. Poté přejděte na kartu "Síť". Nyní lze stránku otevřít, webová stránka (příklad index.php) by měla být viditelná na kartě sítě. Ta musí být vybrána a poté musí být vybrána sekce Herder. Uživatel pak uvidí následující výsledek:

Stavový kód 404 Not Found
Přehled
URL: https://http-statuscode.com/errorCodeExample.php?code=404
Stav: 404 Not Found
Tyto stránky: Network
IP adresa: XX.XX.XX.XX
Stavový kód 404 Not Found

Jak vyřeším problém se stavovým kódem 404?

Kód stavu 404 Not Found se může vyskytnout z různých důvodů. Některé jsou triviální, jiné složitější. Nejpravděpodobnějším důvodem je chybné zadání adresy URL nebo nesprávné nastavení odkazu na interní stránku. Další možností je, že odkazovaná stránka byla z webového serveru odstraněna a nebyl nastaven žádný následný stavový kód, například 410 (Gone).

Může se však vyskytnout i poněkud složitější vzorec chyby. Pokud je zajištěno, že adresa URL není chybně zadána ani nebyl odstraněn zdroj, může být chybné i přesměrování ze souboru "htaccess". Chybné přesměrování lze často odhalit pomocí webových nástrojů.

Jako poslední pravděpodobnou možnost lze také uvažovat o problému s ukládáním do mezipaměti. Buď byl problém již vyřešen na straně serveru, ale mezipaměť prohlížeče nenačítá stránku znovu, ale z lokální paměti, nebo webový server také nenačítá aktuální verzi. V takovém případě je třeba vymazat mezipaměť jak na straně klienta, tak na straně serveru.

Jak vytvořit vlastní chybovou stránku pro stavový kód 404

Vytvoření vlastní chybové stránky 404 Not Found je na webových serverech Apache i NGINX poměrně snadné.

Apache Webserver

Webový server Apache je jedním z nejběžnějších webových serverů na internetu. Chcete-li vytvořit vlastní chybovou stránku 404 Not Found v serveru "Apache", je třeba provést následující změnu v následujícím souboru.

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

NGINX Webserver

Podobně jako webový server Apache se na internetu hojně používá i NGINX. Chcete-li vytvořit vlastní chybovou stránku 404 Not Found v serveru "NGINX", je třeba provést následující změnu v následujícím souboru.

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

Kompatibilita stavového kódu 404 s prohlížeči

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

Jaký vliv má stavový kód 404 na SEO?

Ve světě optimalizace pro vyhledávače (SEO) je stavový kód 404 Not Found "Nenalezeno" více než jen prostá chybová zpráva. Má skutečný a hmatatelný vliv na způsob, jakým vyhledávače vnímají a hodnotí webové stránky.

Když se uživatel nebo vyhledávač pokusí přistoupit na stránku, která neexistuje, a vrátí tak chybu 404 Not Found, vyhledávače si to vyloží jako neexistující stránku. Ojedinělá chyba 404 Not Found tu a tam nemusí mít nutně drastický vliv na hodnocení ve vyhledávačích. Hromadění takových chyb však může vyhledávačům signalizovat, že web není dobře udržován nebo aktualizován.

Častý výskyt chyb 404 Not Found mohou vyhledávače vnímat jako ukazatel špatné struktury nebo údržby webu. To zase může mít negativní dopad na důvěru, kterou vyhledávač k webové stránce chová. A ve světě SEO je důvěra vším. Web, kterému vyhledávače důvěřují, má tendenci se ve výsledcích vyhledávání lépe umisťovat.

Jak již bylo zmíněno, každý web má také rozpočet na procházení. Ten se vztahuje k počtu stránek, které vyhledávač v daném časovém období navštíví. Příliš mnoho chyb 404 Not Found může mít za následek, že značná část tohoto rozpočtu bude vyplýtvána na neexistující stránky. To znamená, že vyhledávače mohou nový nebo aktualizovaný obsah déle objevovat a indexovat.

Dalším důležitým problémem je ztráta zpětných odkazů v důsledku chyb 404 Not Found. Zpětné odkazy jsou klíčovým faktorem hodnocení, a pokud externí stránka odkazuje na adresu URL, která vrací chybu 404 Not Found, nebude již tento odkaz vyhledávači považován za pozitivní faktor hodnocení.

Shrnuto a podtrženo, ačkoli se chyby 404 Not Found mohou zdát na první pohled neškodné, mohou mít vážný dopad na hodnocení webu ve vyhledávačích. Je proto v nejlepším zájmu správce webu tyto chyby pravidelně sledovat a opravovat, aby si web udržel co nejlepší pozici ve výsledcích vyhledávání.

Konstanty v programovacích jazycích

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

Příklad pro "požadavek klienta" a "odpověď serveru" se stavovým kódem HTTP 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>

Dílčí stavové kódy stavového kódu 404

Dílčí stavové kódy jsou čistě technického rázu a nikdy by neměly být odesílány uživateli. Například pokud je vyhozen stavový kód 404.1, může být zaznamenán, ale uživateli bude zaslán stavový kód 404.:
404.0 Not found
HTTP IIS, Neoficiální
404.1 Site Not Found
HTTP IIS, Neoficiální
404.2 ISAPI or CGI restriction.
HTTP IIS, Neoficiální
404.3 MIME type restriction.
HTTP IIS, Neoficiální
404.4 No handler configured
HTTP IIS, Neoficiální
404.5 Denied by request filtering configuration
HTTP IIS, Neoficiální
404.6 Verb denied
HTTP IIS, Neoficiální
404.7 File extension denied
HTTP IIS, Neoficiální
404.8 Hidden namespace
HTTP IIS, Neoficiální
404.9 Files attribute hidden
HTTP IIS, Neoficiální
404.10 Request header too long
HTTP IIS, Neoficiální
404.11 Request contains double escape sequence
HTTP IIS, Neoficiální
404.12 Request contains high-bit characters
HTTP IIS, Neoficiální
404.13 Content length too large
HTTP IIS, Neoficiální
404.14 Request URL too long
HTTP IIS, Neoficiální
404.15 Query string too long
HTTP IIS, Neoficiální
404.16 DAV request sent to the static file handler
HTTP IIS, Neoficiální
404.17 Dynamic content mapped to the static file handler
HTTP IIS, Neoficiální
404.18 Querystring sequence denied
HTTP IIS, Neoficiální
404.19 Denied by filtering rule
HTP IIS, Neoficiální
404.20 Too Many URL Segments
HTTP IIS, Neoficiální
404.501 Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached
HTTP IIS, Neoficiální
404.502 Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached
HTTP IIS, Neoficiální
404.503 the IP address is included in the Deny list of IP Restriction
HTTP ISS, Neoficiální
404.504 the host name is included in the Deny list of IP Restriction
HTTP IIS, Neoficiální

Články na blogu

Stavové kódy HTTP: Podrobná analýza chybových zpráv 404 Not Found a 410 Gone

Stavové kódy HTTP jsou základní součástí protokolu HTTP (Hypertext Transfer Protocol), který tvoří základ komunikace mezi webovými prohlížeči a webovými servery. Umožňují označit stav požadavku a o...

SEO a stavové kódy HTTP: Komplexní analýza

Optimalizace webových stránek pro vyhledávače (SEO) je složitý úkol. Jedním z často přehlížených, ale pro dobré hodnocení klíčových aspektů jsou stavové kódy HTTP. Tyto malé třímístné kódy informuj...

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

Tony Brüser je nadšený webový vývojář se zálibou ve stavových kódech HTTP.

LinkedInGitHub