tigtools

HTTP stavové kódy

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.

Běží ve vašem prohlížeči Bez registrace

Zobrazeno 79 kódů

  • 100 Continue

    Server přijal hlavičky požadavku a klient může odeslat tělo. Objevuje se, když klient před odesláním velkého těla pošle „Expect: 100-continue“.

    Definováno v RFC 9110

  • 101 Switching Protocols

    Server souhlasí s přepnutím na protokol, který klient požadoval v hlavičce Upgrade. Objevuje se při navázání připojení WebSocket.

    Definováno v RFC 9110

  • 102 Processing

    Zastaralé nebo nepoužívané

    Server přijal požadavek WebDAV, ale ještě ho nedokončil. Byl odstraněn z pozdějších specifikací WebDAV a dnes se používá jen zřídka.

    Definováno v RFC 2518

  • 103 Early Hints

    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.

    Definováno v RFC 8297

  • 200 OK

    Požadavek proběhl úspěšně a odpověď obsahuje výsledek. Jde o běžnou odpověď při načtení stránky nebo úspěšném volání API.

    Definováno v RFC 9110

  • 201 Created

    Požadavek proběhl úspěšně a vytvořil nový zdroj, obvykle identifikovaný hlavičkou Location. Typické po úspěšném POST, který založí záznam.

    Definováno v RFC 9110

  • 202 Accepted

    Požadavek byl přijat ke zpracování, ale ještě není dokončen. Používají ho API, která práci řadí do fronty, například exporty nebo dávkové úlohy.

    Definováno v RFC 9110

  • 203 Non-Authoritative Information

    Požadavek proběhl úspěšně, ale transformující proxy upravila obsah vrácený původním serverem.

    Definováno v RFC 9110

  • 204 No Content

    Požadavek proběhl úspěšně a odpověď neobsahuje žádný obsah. Běžné pro požadavky DELETE a ukládání dat, kdy klient nepotřebuje tělo odpovědi.

    Definováno v RFC 9110

  • 205 Reset Content

    Požadavek proběhl úspěšně a klient by měl resetovat zobrazení dokumentu, například vyprázdnit formulář. Používá se zřídka.

    Definováno v RFC 9110

  • 206 Partial Content

    Server vrací pouze rozsah bajtů, který klient požadoval. Objevuje se při streamování videa, obnovení stahování nebo když klient pošle hlavičku Range.

    Definováno v RFC 9110

  • 207 Multi-Status

    Odpověď WebDAV, která v těle XML obsahuje samostatné stavové kódy pro více zdrojů.

    Definováno v RFC 4918

  • 208 Already Reported

    Používá se uvnitř odpovědi WebDAV 207, aby se znovu nevypisovaly stejné členy svázaného zdroje.

    Definováno v RFC 5842

  • 226 IM Used

    Server provedl s aktuálním zdrojem manipulace instance (například delta kódování). Vyskytuje se velmi zřídka.

    Definováno v RFC 3229

  • 300 Multiple Choices

    Zdroj má několik reprezentací a klient by si měl jednu vybrat. V praxi se používá jen zřídka.

    Definováno v RFC 9110

  • 301 Moved Permanently

    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.

    Definováno v RFC 9110

  • 302 Found

    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.

    Definováno v RFC 9110

  • 303 See Other

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

    Definováno v RFC 9110

  • 304 Not Modified

    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.

    Definováno v RFC 9110

  • 305 Use Proxy

    Zastaralé nebo nepoužívané

    Žádá klienta, aby použil proxy server uvedený v hlavičce Location. Z bezpečnostních důvodů je zastaralý a prohlížeče jej ignorují.

    Definováno v RFC 9110

  • 306 (Unused)

    Zastaralé nebo nepoužívané

    Rezervováno. Používal se v dřívějším návrhu HTTP/1.1 a již se nepoužívá.

    Definováno v RFC 9110

  • 307 Temporary Redirect

    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.

    Definováno v RFC 9110

  • 308 Permanent Redirect

    Zdroj byl trvale přesunut a klient musí u nové URL použít stejnou metodu a tělo. Trvalý protějšek kódu 307, bezpečný pro přesměrování požadavků POST.

    Definováno v RFC 9110

  • 400 Bad Request

    Server nemůže zpracovat požadavek, protože je nesprávně vytvořen, například neplatný JSON, chybný parametr dotazu nebo poškozený cookie.

    Definováno v RFC 9110

  • 401 Unauthorized

    Požadavku chybí platné přihlašovací údaje. Navzdory názvu znamená „neověřený“; server odešle hlavičku WWW-Authenticate popisující, jak se přihlásit.

    Definováno v RFC 9110

  • 402 Payment Required

    Rezervováno pro budoucí použití ve specifikaci HTTP. Některá API a platební služby jej používají, když je vyžadována platba nebo předplatné.

    Definováno v RFC 9110

  • 403 Forbidden

    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.

    Definováno v RFC 9110

  • 404 Not Found

    Server nemůže najít požadovaný zdroj. Obvykle se jedná o překlep nebo zastaralý odkaz, smazanou stránku nebo chybnou trasu API.

    Definováno v RFC 9110

  • 405 Method Not Allowed

    Zdroj existuje, ale nepodporuje použitou metodu HTTP, například POST na URL pouze pro čtení. Odpověď uvádí povolené metody v hlavičce Allow.

    Definováno v RFC 9110

  • 406 Not Acceptable

    Server nemůže vytvořit odpověď v žádném z formátů uvedených v hlavičkách Accept klienta.

    Definováno v RFC 9110

  • 407 Proxy Authentication Required

    Podobné jako 401, ale klient se musí nejprve ověřit u proxy serveru. Vyskytuje se ve firemních sítích s ověřujícím proxy serverem.

    Definováno v RFC 9110

  • 408 Request Timeout

    Serveru vypršel časový limit při čekání, než klient dokončí odesílání požadavku. Vyskytuje se při pomalém nebo přerušeném připojení.

    Definováno v RFC 9110

  • 409 Conflict

    Požadavek je v konfliktu s aktuálním stavem zdroje, například konflikt úprav nebo vytváření něčeho, co již existuje.

    Definováno v RFC 9110

  • 410 Gone

    Zdroj byl trvale odstraněn a už se nevrátí. Na rozdíl od 404 vyhledávačům říká, aby URL vyřadily rychleji.

    Definováno v RFC 9110

  • 411 Length Required

    Server vyžaduje hlavičku Content-Length a požadavek ji neobsahoval.

    Definováno v RFC 9110

  • 412 Precondition Failed

    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.

    Definováno v RFC 9110

  • 413 Content Too Large

    Tělo požadavku je větší, než server přijímá. Objevuje se při nahrávání souboru nad limit, například client_max_body_size v nginx.

    Definováno v RFC 9110

  • 414 URI Too Long

    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.

    Definováno v RFC 9110

  • 415 Unsupported Media Type

    Server nepodporuje formát těla požadavku, například odeslání XML do koncového bodu, který očekává application/json.

    Definováno v RFC 9110

  • 416 Range Not Satisfiable

    Rozsah bajtů požadovaný v hlavičce Range je mimo velikost zdroje.

    Definováno v RFC 9110

  • 417 Expectation Failed

    Server nemůže splnit požadavek v hlavičce Expect klienta.

    Definováno v RFC 9110

  • 418 I'm a teapot

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

    Definováno v RFC 2324 / RFC 9110 (Unused)

  • 419 Page Expired

    Nestandardní

    Není standardní kód. Laravel ho vrací, když chybí CSRF token formuláře nebo jeho platnost vypršela, obvykle po vypršení relace.

    Definováno v Laravel

  • 420 Enhance Your Calm

    Nestandardní

    Není standardní kód. Staré Twitter API jej používalo k omezení počtu požadavků; standardní kód pro tento účel je 429.

    Definováno v Twitter API v1

  • 421 Misdirected Request

    Požadavek dorazil na server, který nemůže pro tohoto hostitele vytvořit odpověď, například když je HTTP/2 spojení znovu použito pro jinou doménu.

    Definováno v RFC 9110

  • 422 Unprocessable Content

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

    Definováno v RFC 9110

  • 423 Locked

    Zdroj WebDAV je uzamčen a nelze jej změnit.

    Definováno v RFC 4918

  • 424 Failed Dependency

    Požadavek WebDAV selhal, protože selhala jiná akce, na které závisel.

    Definováno v RFC 4918

  • 425 Too Early

    Server nezpracuje požadavek, který by mohl být zopakován, například požadavek odeslaný jako early data TLS 1.3.

    Definováno v RFC 8470

  • 426 Upgrade Required

    Server odmítá požadavek se současným protokolem a požadovaný uvádí v hlavičce Upgrade.

    Definováno v RFC 9110

  • 428 Precondition Required

    Server vyžaduje podmíněný požadavek (například s If-Match), aby zabránil ztraceným aktualizacím.

    Definováno v RFC 6585

  • 429 Too Many Requests

    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.

    Definováno v RFC 6585

  • 431 Request Header Fields Too Large

    Hlavičky požadavku jsou příliš velké, často kvůli příliš mnoha nebo příliš velkým cookies. Obvykle to vyřeší vymazání cookies daného webu.

    Definováno v RFC 6585

  • 444 No Response

    Nestandardní

    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ží.

    Definováno v nginx

  • 451 Unavailable For Legal Reasons

    Zdroj je nedostupný z právních důvodů, jako je soudní příkaz nebo vládní cenzura. Číslo odkazuje na román 451 stupňů Fahrenheita.

    Definováno v RFC 7725

  • 494 Request Header Too Large

    Nestandardní

    Nejde o standardní kód. Vlastní varianta nginxu pro 431, zaznamená se, když hlavičky požadavku překročí limity jeho vyrovnávací paměti.

    Definováno v nginx

  • 495 SSL Certificate Error

    Nestandardní

    Nejde o standardní kód. nginx ho vrací, když se nepodaří ověřit klientský certifikát.

    Definováno v nginx

  • 496 SSL Certificate Required

    Nestandardní

    Nejde o standardní kód. nginx ho vrací, když nebyl poskytnut povinný klientský certifikát.

    Definováno v nginx

  • 497 HTTP Request Sent to HTTPS Port

    Nestandardní

    Nejde o standardní kód. nginx ho vrací, když je na port nakonfigurovaný pro HTTPS odeslán běžný HTTP požadavek.

    Definováno v nginx

  • 499 Client Closed Request

    Nestandardní

    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.

    Definováno v nginx

  • 500 Internal Server Error

    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.

    Definováno v RFC 9110

  • 501 Not Implemented

    Server nepodporuje požadovanou funkci, například HTTP metodu, kterou nerozpoznává.

    Definováno v RFC 9110

  • 502 Bad Gateway

    Brána nebo proxy obdržela od nadřazeného serveru neplatnou odpověď. Časté, když aplikace za nginxem nebo load balancerem spadla nebo se restartuje.

    Definováno v RFC 9110

  • 503 Service Unavailable

    Server momentálně nemůže požadavek zpracovat, protože je přetížený nebo je v režimu údržby. Hlavička Retry-After může uvádět, kdy to zkusit znovu.

    Definováno v RFC 9110

  • 504 Gateway Timeout

    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.

    Definováno v RFC 9110

  • 505 HTTP Version Not Supported

    Server nepodporuje verzi protokolu HTTP použitou v požadavku.

    Definováno v RFC 9110

  • 506 Variant Also Negotiates

    Chyba konfigurace vyjednávání obsahu na serveru: vybraná varianta je sama nakonfigurována k vyjednávání.

    Definováno v RFC 2295

  • 507 Insufficient Storage

    Server nemůže uložit to, co je potřeba k dokončení požadavku, například plný disk na serveru WebDAV.

    Definováno v RFC 4918

  • 508 Loop Detected

    Server zastavil operaci WebDAV, protože zjistil nekonečnou smyčku.

    Definováno v RFC 5842

  • 509 Bandwidth Limit Exceeded

    Nestandardní

    Nejde o standardní kód. Používají ho některá sdílená hostování (moduly Apache, cPanel), když web překročí povolený objem přenesených dat.

    Definováno v Apache / cPanel

  • 510 Not Extended

    Zastaralé nebo nepoužívané

    K vyřízení požadavku jsou potřeba další rozšíření. Definováno experimentální specifikací, která je dnes již historická.

    Definováno v RFC 2774

  • 511 Network Authentication Required

    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.

    Definováno v RFC 6585

  • 520 Web Server Returned an Unknown Error

    Nestandardní

    Nejde o standardní kód. Cloudflare ho vrací, když zdrojový server odeslal prázdnou, neznámou nebo neočekávanou odpověď.

    Definováno v Cloudflare

  • 521 Web Server Is Down

    Nestandardní

    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.

    Definováno v Cloudflare

  • 522 Connection Timed Out

    Nestandardní

    Nejde o standardní kód. Cloudflare ho vrací, když vypršel časový limit TCP spojení se zdrojovým serverem.

    Definováno v Cloudflare

  • 523 Origin Is Unreachable

    Nestandardní

    Nejde o standardní kód. Cloudflare ho vrací, když se nemůže připojit ke zdrojovému serveru, například kvůli problému s DNS nebo směrováním.

    Definováno v Cloudflare

  • 524 A Timeout Occurred

    Nestandardní

    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ěď.

    Definováno v Cloudflare

  • 525 SSL Handshake Failed

    Nestandardní

    Nejde o standardní kód. Cloudflare ho vrací, když selhal SSL/TLS handshake se zdrojovým serverem.

    Definováno v Cloudflare

  • 526 Invalid SSL Certificate

    Nestandardní

    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

  1. Zadejte číslo kódu (například 404 nebo jen 5 pro všechny serverové chyby) nebo klíčové slovo, např. „redirect“ nebo „timeout“.
  2. Zúžte seznam pomocí filtru třídy: informační, úspěch, přesměrování, chyba klienta nebo chyba serveru.
  3. 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.