Vyhledejte libovolný HTTP stavový kód: co znamená, kdy ho servery odesílají a která specifikace ho definuje. Hledejte podle čísla nebo klíčového slova, filtrujte podle třídy a odkazujte přímo na kód.
Odesílá se před konečnou odpovědí, aby prohlížeč mohl začít přednačítat zdroje uvedené v hlavičkách Link. Používají ho CDN a servery ke zrychlení načítání stránek.
Zdroj se trvale přesunul na adresu URL v hlavičce Location. Prohlížeče a vyhledávače si aktualizují odkazy; někteří klienti při následování mění POST na GET.
Zdroj je dočasně na jiné URL uvedené v hlavičce Location. Běžné po přihlášení a pro krátkodobá přesměrování; prohlížeče je obvykle následují metodou GET.
Klient by měl výsledek načíst z jiné URL metodou GET. Používá se po odeslání formuláře metodou POST k přesměrování na potvrzovací stránku (vzor Post/Redirect/Get).
Kopie v mezipaměti je stále platná, takže server neodesílá tělo. Dochází k tomu, když prohlížeč znovu ověřuje soubor v mezipaměti pomocí hlaviček If-None-Match nebo If-Modified-Since.
Zdroj je dočasně na jiné URL a klient musí opakovat požadavek se stejnou metodou a tělem. Prohlížeče jej také používají pro interní přesměrování HSTS na HTTPS.
Server požadavku porozuměl, ale odmítá jej a opětovné přihlášení nepomůže. Dochází k tomu, když chybí oprávnění, je zakázán výpis adresáře nebo klienta blokuje firewall.
Podmínka v hlavičkách požadavku, například If-Match, nebyla splněna. Používá se k zabránění přepsání zdroje, který se od posledního čtení klientem změnil.
URL je delší, než server zpracuje. Obvykle to způsobí formulář odesílající příliš mnoho dat metodou GET nebo smyčka přesměrování, která stále připojuje parametry.
Aprílový žert z roku 1998 z protokolu Hyper Text Coffee Pot Control Protocol: konvice odmítá uvařit kávu. HTTP tento kód vyhrazuje jako nepoužitý, ale některé servery ho vracejí jako velikonoční vajíčko nebo k odmítnutí nežádoucích botů.
Požadavek je správně vytvořen, ale jeho obsah je neplatný, například formulář s nesplněnými validačními pravidly. Často jej používají API pro chyby ověření.
Klient odeslal v daném čase příliš mnoho požadavků. API jej používají k omezení počtu požadavků a často přidávají hlavičku Retry-After s údajem, kdy to zkusit znovu.
Nejde o standardní kód. nginx ho interně používá k uzavření spojení bez odeslání odpovědi, často k zahození nežádoucího provozu; klienti ho ve skutečnosti nikdy neobdrží.
Nejde o standardní kód. nginx ho zaznamená, když klient uzavře spojení dříve, než server odpoví, například když uživatel zruší načítání pomalé stránky nebo vyprší časový limit na straně klienta.
Server narazil na neočekávanou chybu a nemohl požadavek dokončit. Obecná chyba způsobená chybou v kódu, pádem nebo špatnou konfigurací; podrobnosti najdete v záznamech serveru.
Brána nebo proxy nedostala od nadřazeného serveru odpověď včas. Objevuje se, když je backendový požadavek příliš pomalý, jako je dlouhý databázový dotaz.
Klient se musí autentizovat, aby získal přístup k síti. Odesílají ho captive portály na Wi-Fi v hotelích, na letištích nebo v kavárnách před přihlášením.
Nejde o standardní kód. Cloudflare ho vrací, když zdrojový server odmítl spojení, obvykle protože webový server neběží nebo blokuje IP adresy Cloudflare.
Nejde o standardní kód. Cloudflare ho vrací, když se ke zdrojovému serveru připojil, ale ve svém časovém limitu (ve výchozím nastavení 100 sekund) neobdržel HTTP odpověď.
Nejde o standardní kód. Cloudflare ho vrací, když je SSL certifikát zdrojového serveru neplatný a je povolen režim SSL Full (strict).
Definováno v Cloudflare
Jak používat
Zadejte číslo kódu (například 404 nebo jen 5 pro všechny serverové chyby) nebo klíčové slovo, např. „redirect“ nebo „timeout“.
Zúžte seznam pomocí filtru třídy: informační, úspěch, přesměrování, chyba klienta nebo chyba serveru.
Pomocí tlačítka „Kopírovat odkaz“ u libovolného kódu sdílejte přímý odkaz, například v hlášení o chybě.
Jak to funguje
Každá odpověď HTTP začíná třímístným stavovým kódem. První číslice určuje třídu: 1xx informativní odpovědi, 2xx úspěch, 3xx přesměrování, 4xx chyby způsobené požadavkem a 5xx chyby na straně serveru. Klienti, kteří konkrétní kód neznají, s ním zacházejí jako s kódem x00 dané třídy, takže neznámý kód 4xx je zpracován jako 400.
Základní kódy definuje RFC 9110 (HTTP Semantics, 2022), který nahradil starší RFC 7231. Další pocházejí z rozšíření: WebDAV (RFC 4918), RFC 6585 pro kódy 428, 429, 431 a 511, RFC 7725 pro 451 a RFC 8470 pro 425. RFC 9110 také přejmenoval dva kódy: 413 se nyní označuje jako „Content Too Large“ a 422 jako „Unprocessable Content“; stále se můžete setkat se staršími názvy „Payload Too Large“ a „Unprocessable Entity“.
Některé kódy, na které v logu narazíte, vůbec nejsou standardizované. nginx interně používá 444 a 494–499 (499 označuje klienta, který to vzdal při čekání) a Cloudflare vrací 520–526, když nedokáže získat správnou odpověď ze zdrojového serveru. V seznamu jsou označeny jako „nestandardní“. Důvodové fráze (například „Not Found“) se zobrazují v angličtině tak, jak jsou uvedeny ve specifikacích; HTTP/2 a HTTP/3 odesílají pouze číslo.
Příklady
301, nebo 308 při přesunu webu
Oba kódy znamenají trvalé přesměrování. Pro běžné přesuny stránek použijte 301; kód 308 použijte, když klienti musí na novou adresu URL zopakovat požadavky POST nebo PUT, protože někteří klienti po odpovědi 301 změní POST na GET.
401 versus 403
API vrací 401, když požadavek neobsahuje token nebo je token prošlý, takže by se klient měl přihlásit. Kód 403 vrací, když je token platný, ale uživatel nemá oprávnění, takže nové přihlášení nepomůže.
Diagnostika kódu 502 za nginx
Kód 502 Bad Gateway od nginx znamená, že aplikace za ním neodpověděla správně. Zkontrolujte, zda proces aplikace běží a co zapsal do logu; kód 504 naopak znamená, že odpověděla příliš pomalu.
Časté dotazy
Jaký je rozdíl mezi kódy 404 a 410?
Kód 404 znamená, že server nemůže najít zdroj, a neříká nic o budoucnosti. Kód 410 říká, že zdroj byl záměrně odstraněn a už se nevrátí, což vyhledávačům pomůže adresu URL dříve vyřadit.
Měla by chyba ověření vracet 400, nebo 422?
Používají se oba. 400 se hodí pro požadavky, které server nedokáže zpracovat, například poškozený JSON. 422 se hodí pro požadavky, které se zpracují správně, ale obsahují neplatné hodnoty, například e-mailové pole bez @.
Je 418 I'm a teapot skutečný stavový kód?
Pochází z aprílového RFC z roku 1998. RFC 9110 rezervuje 418 jako nepoužívaný, takže není přiřazen ničemu jinému, a některé servery ho vrací jako žert, ale nemá žádný standardní význam.
Odkud pochází 499?
499 je specifický pro nginx. Objevuje se v záznamech nginx, když klient zavře spojení dříve, než server odešle odpověď. Klient nikdy neobdrží 499; obvykle ukazuje na pomalé odpovědi nebo časové limity na straně klienta.
Považují vyhledávače kód 302 za 301?
302 signalizuje dočasné přesměrování, takže vyhledávače obvykle původní URL zpočátku ponechají v indexu. Pokud 302 zůstane na místě dlouho, může ho Google považovat za trvalé přesměrování. Pro trvalá přesměrování používejte 301 nebo 308.
Soukromí
Seznam je součástí stránky. Vyhledávání a filtrování probíhá ve vašem prohlížeči; hledané výrazy se nikam neodesílají ani se nezahrnují do analýz.