Článek
Číslo 404 zná i člověk, který nikdy neotevřel vývojářské nástroje. Stačí kliknout na starý odkaz, přepsat adresu nebo otevřít stránku, kterou někdo smazal. Místo obsahu vyskočí známé „404 Not Found“. Z technického kódu se stal internetový symbol ztracení.
Právě proto kolem něj vznikla dokonale zapamatovatelná legenda. Údajně pochází z místnosti 404 v CERNu, kde měla být první webová infrastruktura, případně kde lidé hledali požadované dokumenty. Když se nic nenašlo, vzniklo „404 – not found“. Je to hezký příběh. Jenže dostupné historické prameny ho nepodporují.
Ještě zajímavější je druhý omyl. 404 neříká, že stránka byla navždy smazána. Moderní specifikace HTTP výslovně říká něco užšího: server právě teď nemá reprezentaci požadovaného zdroje, případně nechce prozradit, že existuje. O trvalosti z toho samotného nic nepoznáme.
404 bylo v dokumentaci Webu už na začátku devadesátek
Historický dokument W3C nazvaný prostě „Status codes in HTTP“ pochází z rané éry Webu a u kódu 404 uvádí lakonickou větu: server nenašel nic, co by odpovídalo zadanému URI. Stejný dokument už rozděluje chyby tak, jak je známe dodnes: 4×x pro situace, kdy problém souvisí s požadavkem klienta, a 5×x pro chyby na straně serveru.
To je důležité, protože 404 nevzniklo jako nápis na grafické chybové stránce. Je to součást protokolu HTTP – strojová odpověď serveru. Prohlížeč může uživateli zobrazit velký obrázek, vtip, vyhledávací pole nebo prázdnou stránku. Pod tím vším ale běží tříciferný stavový kód.
V první standardizované verzi HTTP/1.0, RFC 1945 z roku 1996, je 404 znovu definováno jako stav, kdy server nenašel nic odpovídajícího požadovanému URI. Číslo už tehdy sedělo vedle 400 Bad Request, 401 Unauthorized, 403 Forbidden a dalších členů stejné rodiny.
Místnost 404? Tim Berners-Lee odpověděl dvěma slovy
Legenda o CERNu se drží hlavně proto, že je až podezřele elegantní. Web se v CERNu skutečně narodil. Tim Berners-Lee tam skutečně provozoval první webový server na počítači NeXT ve své kanceláři. Z toho ale neplyne žádné spojení s číslem 404.
Když se Berners-Leeho v roce 2014 při Reddit AMA někdo přímo zeptal, zda chyba 404 vznikla kvůli neexistující místnosti 404 v kanceláři, odpověděl jednoduše: „No. Nonsense.“ Tedy: ne, nesmysl.
Robert Cailliau, jeden z klíčových lidí raného Webu, stejnou legendu později odmítl také. Podle jeho vzpomínky byly chybové kódy prostě praktická interní nutnost a konkrétní čísla neměla mystický význam. To je méně filmové než tajná místnost, ale historicky mnohem uvěřitelnější.
Pozor na další past: nevíme přesně, proč připadlo Not Found právě číslo 404
Vyvrátit legendu ale neznamená automaticky znát úplnou genezi posledních dvou číslic. Rané specifikace jasně ukazují, že 404 bylo velmi brzy přiřazené k „Not Found“ a že 4×x tvořilo skupinu klientských chyb. Samotné dobové dokumenty ale nevysvětlují, proč přesně dostalo „nenalezeno“ právě pořadové číslo 04.
Proto je opatrnější říct, že 404 vzniklo uvnitř systému stavových kódů HTTP a že příběh o konkrétní místnosti není doložený. Přesnou historku typu „čtvrtá chyba ve čtvrté skupině“ bychom už bez pevného primárního pramene jen nahrazovali jedním hezkým mýtem za jiný.
404 neznamená „navždy pryč“. Na to je 410 Gone
Současná specifikace HTTP je v tom překvapivě přesná. Status 404 říká, že server nenašel aktuální reprezentaci cílového zdroje nebo nechce zveřejnit, že nějaká existuje. Zároveň výslovně dodává, že kód neříká, zda je tento stav dočasný, nebo trvalý.
Pokud server ví, že obsah byl záměrně odstraněn natrvalo, existuje přesnější odpověď: 410 Gone. Ta je určena právě pro situace, kdy je zdroj považován za trvale nedostupný a nemá náhradu.
V běžném provozu se ale 404 používá mnohem častěji, protože server nebo správce webu často nechce nebo neumí rozlišit, zda je absence definitivní. Starý článek může být omylem přesunutý, URL může obsahovat překlep nebo se obsah může později vrátit.
Server může 404 použít i tehdy, když stránka ve skutečnosti existuje
Tady začíná technicky nejzajímavější část. RFC 9110 připouští, že server může odpovědět 404 i v situaci, kdy zdroj existuje, ale server nechce jeho existenci prozradit. Typickým důvodem může být snaha neodhalit útočníkovi, která neveřejná adresa je skutečná.
To znamená, že věta „dostal jsem 404, takže na serveru nic takového není“ je příliš silná. Správně víme jen to, co nám server sdělil: pro tento požadavek nedostáváme aktuální reprezentaci a případně se server rozhodl existenci skrýt.
404 je proto víc jako odpověď „tady vám nic nedám“ než absolutní mapa toho, co fyzicky leží na disku.
A pak existuje pravý opak: stránka vypadá jako 404, ale server hlásí 200 OK
Na webu existuje i obrácená absurdita. Stránka uživateli oznámí „nenalezeno“, ale server do HTTP odpovědi napíše 200 OK – tedy úspěch. Google tomu říká soft 404.
Pro člověka stránka neexistuje, pro protokol ale požadavek vypadal jako úspěšný. Vyhledávače pak musí podle obsahu odhadovat, že jde ve skutečnosti o chybovou stránku. Google proto doporučuje u skutečně neexistujícího obsahu vracet opravdový 404 nebo 410, ne jen text „stránka nenalezena“ s kódem 200.
Je to dobrá připomínka, že grafická stránka a stavový kód jsou dvě různé vrstvy. Obrázek s nápisem 404 ještě nedělá z odpovědi technickou 404. Rozhoduje to, co server skutečně pošle v HTTP hlavičce.
Z nudného čísla vznikla internetová ikona
Technicky je 404 jen jedna položka ve velké tabulce. Kulturně ale dopadlo úplně jinak než většina sousedních kódů. Lidé běžně neříkají „mám pocit 405 Method Not Allowed“, zatímco „404“ se dávno používá jako vtip pro něco nebo někoho, koho nelze najít.
Weby si proto začaly s chybovou stránkou hrát. Přidávají maskoty, animace, minihry, vyhledávání nebo odkazy zpět. Z provozní chyby se stal prostor pro značku a humor. 404 je jedna z mála technických hlášek, která překročila hranici programování a vstoupila do běžné internetové řeči.
A možná právě proto se kolem ní tak dobře drží legenda o tajemné místnosti. Skutečný původ je mnohem méně romantický: raný Web potřeboval standardní způsob, jak říct „nenašel jsem to“. Zbytek – mýtus, memy i kreativní error pages – už si k tomu internet doplnil sám.
Zdroje a ověření
• W3C – Status codes in HTTP (historický dokument) — raná definice tříd 4×x/5×x a 404 jako Not Found
• RFC Editor – RFC 1945: HTTP/1.0 — standardizovaná definice 404 v HTTP/1.0
• RFC Editor – RFC 9110: HTTP Semantics — současná definice 404, rozdíl proti 410 a možnost neprozradit existenci zdroje
• CERN – A short history of the Web — první webový server na NeXT počítači v Berners-Leeho kanceláři a historický kontext CERNu
• Tim Berners-Lee – Reddit AMA 2014 — přímé odmítnutí legendy o místnosti 404
• WIRED – Page Not Found: A Brief History of the 404 Error — historie kulturního významu 404 a vyjádření Roberta Cailliaua k mýtu
• Google Search Central – Troubleshoot crawling errors — vysvětlení soft 404 a doporučení vracet skutečný 404/410 u neexistujícího obsahu





