Přeskočit na hlavní obsah

Přehled HTTP stavových kódů zdarma

Prohledávatelný přehled všech HTTP stavových kódů — co každý znamená, kdy se používá a jaké jsou běžné příčiny. Od 100 do 511.

Funguje offline po načtení

61 stavových kódů

100

Pokračovat

Server obdržel hlavičky požadavku a klient by měl pokračovat s tělem.

Používá se pro požadavky s Expect: 100-continue. Server potvrzuje, že je ochoten přijmout tělo předtím, než jej klient pošle. V moderních webových aplikacích se téměř nevidí.

RFC 9110 ↗
101

Přepínání protokolů

Server přepíná protokoly dle požadavku klienta.

Nejčastěji se používá pro upgrady WebSocket — klient požaduje Upgrade: websocket a server odpoví 101 pro přechod.

RFC 9110 ↗
102

Zpracování

Server obdržel požadavek a zpracovává jej, ale odpověď zatím není dostupná.

Zprostředkující odpověď WebDAV odeslaná k zabránění vypršení časového limitu klienta během dlouhých operací. Zastaralá — moderní servery by ji neměly odesílat.

RFC 2518 ↗
103

Rané nápovědy

Předběžné hlavičky odeslané před finální odpovědí.

Umožňuje serverům odesílat hlavičky Link (preload/preconnect) zatímco se připravuje finální odpověď, aby prohlížeče mohly začít dříve stahovat kritické zdroje.

RFC 8297 ↗
200

OK

Požadavek byl úspěšný.

Standardní odpověď na úspěch. Význam závisí na HTTP metodě: GET → zdroj vrácen, POST/PUT → akce dokončena.

RFC 9110 ↗
201

Vytvořeno

Nový zdroj byl úspěšně vytvořen.

Běžná odpověď po POST. Odpověď by měla obsahovat hlavičku Location ukazující na URL nového zdroje.

RFC 9110 ↗
202

Přijato

Požadavek byl přijat ke zpracování, ale zpracování není dokončeno.

Pro asynchronní operace — server zařazuje práci do fronty. Klient by měl průběžně kontrolovat koncový bod stavu nebo se vrátit později.

RFC 9110 ↗
203

Neautoritativní informace

Odpověď byla upravena transformační proxy.

Požadavek byl úspěšný, ale mezilehlý prvek (jako proxy pro ukládání do mezipaměti nebo transformaci) změnil obsah ze zdrojového serveru — například rekompresí obrázků. V praxi se vyskytuje zřídka.

RFC 9110 ↗
204

Žádný obsah

Požadavek byl úspěšný, ale neexistuje tělo odpovědi.

Často se používá pro operace DELETE nebo PUT aktualizace, které nemusí vracet tělo. Klient by neměl opustit aktuální stránku.

RFC 9110 ↗
205

Obnovit obsah

Požadavek byl úspěšný; klient by měl obnovit pohled dokumentu.

Jako 204, není vráceno žádné tělo — ale klient je navíc vyzván k resetování formuláře nebo pohledu, který vygeneroval požadavek (např. vymazání polí formuláře pro další zadání).

RFC 9110 ↗
206

Částečný obsah

Server doručil pouze část zdroje.

Odpověď na požadavek Range. Používá se přehrávači videí a správci stahování k obnovení přerušených stahování nebo streamování velkých souborů.

RFC 9110 ↗
207

Multi-Status

Tělo odpovědi obsahuje více stavových kódů pro více operací.

WebDAV: tělo XML hlásí výsledek několika dílčích operací nezávisle — např. hromadné přesunutí, kde některé položky uspěly a jiné selhaly.

RFC 4918 ↗
208

Již hlášeno

Členové kolekce již byli uvedeni dříve v odpovědi.

WebDAV: používá se v 207 Multi-Status odpovědích, aby se zabránilo opakovanému výpisu členů stejné kolekce, když vazby vytvářejí smyčky.

RFC 5842 ↗
226

IM použito

Odpověď je výsledkem manipulací instancí aplikovaných na zdroj.

Delta kódování: server vrací rozdíl vůči předchozí verzi místo úplného zdroje, čímž šetří šířku pásma. Velmi zřídka implementováno.

RFC 3229 ↗
300

Vícenásobné volby

Zdroj je dostupný v několika reprezentacích.

Server nabízí více možností (např. různé formáty nebo jazyky) a klient by měl vybrat jednu. Zřídka se používá, protože automatická vyjednávání obsahu to obvykle zvládá.

RFC 9110 ↗
301

Trvale přesunuto

Zdroj byl trvale přesunut na novou URL.

Používá se pro trvalé změny URL — vyhledavače aktualizují svůj index. SEO autorita se přenese na novou URL.

RFC 9110 ↗
302

Nalezeno (dočasné přesměrování)

Zdroj je dočasně na jiné URL.

Znamená, že přesměrování není trvalé. Ukládání do mezipaměti je méně agresivní než u 301. Používá se pro věci jako 'je vyžadováno přihlášení, přesměrování na /login'.

RFC 9110 ↗
303

Viz také

Přesměrování na jinou URL pomocí GET.

Používá se po odesláních POST — odpověď říká 'váš POST fungoval, výsledek najdete na této URL přes GET'. Prohlížeče vždy použijí GET na novou URL.

RFC 9110 ↗
304

Nemodifikováno

Verze uložená v mezipaměti je stále platná; použijte ji.

Odpověď na podmíněný požadavek (s hlavičkami If-None-Match nebo If-Modified-Since). Šetří šířku pásma — není vráceno žádné tělo.

RFC 9110 ↗
307

Dočasné přesměrování

Jako 302, ale zachovává původní HTTP metodu.

Pokud byl originál POST, přesměrování také používá POST. Moderní alternativa k 302, pokud je zachování metody důležité.

RFC 9110 ↗
308

Trvalé přesměrování

Jako 301, ale zachovává původní HTTP metodu.

Moderní náhrada za 301, pokud chcete, aby požadavky POST zůstaly POST po přesměrování.

RFC 9110 ↗
400

Chybný požadavek

Server nemohl porozumět požadavku kvůli chybné syntaxi.

Běžné příčiny: chybně formátovaný JSON v těle, neplatné parametry dotazu nebo chybějící povinná pole. Zkontrolujte tělo požadavku a hlavičky.

RFC 9110 ↗
401

Neautorizováno

Je vyžadováno ověřování a nebylo poskytnuto.

Klient musí obsahovat pověření pro ověřování (hlavička Authorization, cookie, token). 'Unauthorized' je nepřesný název — ve skutečnosti to znamená 'neověřeno'.

RFC 9110 ↗
402

Vyžaduje se platba

Vyhrazeno pro budoucí použití — někdy se používá pro placené úrovně API.

Původně určeno pro digitální platby. Moderní použití: API někdy vrátí 402, když uživatel překročil svou placenou kvótu.

RFC 9110 ↗
403

Zakázáno

Klient je ověřen, ale nemá oprávnění.

Odlišuje se od 401 — uživatel JE přihlášen, ale jejich účet nemá oprávnění pro tento zdroj. Zkontrolujte logiku role/oprávnění.

RFC 9110 ↗
404

Nenalezeno

Požadovaný zdroj neexistuje.

URL je buď chybná, zdroj byl smazán, nebo nikdy neexistoval. Servery někdy vrací 404, aby skryli, že by 403 bylo přesnější.

RFC 9110 ↗
405

Metoda není povolena

HTTP metoda použitá není povolena pro tento zdroj.

Například GET požadavek na koncový bod, který přijímá pouze POST. Odpověď by měla obsahovat hlavičku Allow, která vypíše platné metody.

RFC 9110 ↗
406

Nepřijatelné

Žádná reprezentace se neshoduje s hlavičkami Accept klienta.

Klient požadoval typ obsahu, jazyk nebo kódování (přes Accept, Accept-Language, Accept-Encoding), které server nemůže poskytnout. Mnoho serverů přeskakuje přísné vyjednávání a vrací výchozí hodnotu.

RFC 9110 ↗
407

Vyžaduje se proxy ověřování

Klient se musí nejdříve ověřit vůči proxy serveru.

Podobně jako 401, ale vystaveno proxy: klient musí zaslat pověření Proxy-Authorization. Vyskytuje se v podnikových sítích s ověřujícími proxy.

RFC 9110 ↗
408

Časový limit požadavku vypršel

Serveru vypršel čas při čekání na požadavek.

Klient příliš dlouho odesílal tělo požadavku nebo nechal připojení nečinné. Pokuste se požadavek zaslat znovu.

RFC 9110 ↗
409

Konflikt

Požadavek koliduje s aktuálním stavem prostředku.

Obvykle se vrací při konfliktech současného upravování nebo při duplikování vytvoření prostředku (např. vytvoření uživatele s e-mailem, který již existuje).

RFC 9110 ↗
410

Pryč

Prostředek byl smazán a už se nevrátí.

Silnější než 404 — server explicitně ví, že prostředek EXISTOVAL, ale byl trvale odstraněn. Vyhledávače jej odstraní z indexu.

RFC 9110 ↗
411

Vyžaduje se délka

Server vyžaduje hlavičku Content-Length.

Požadavek byl odmítnut, protože chybí hlavička Content-Length a server odmítá těla neznámé velikosti. Přidejte hlavičku a zkuste znovu.

RFC 9110 ↗
412

Podmínka neplatná

Podmínka v hlavičkách požadavku nebyla splněna.

Vráceno při neúspěchu podmíněných hlaviček jako If-Match nebo If-Unmodified-Since — obvykle optimistické uzamykání: někdo jiný změnil prostředek od vaší verze. Načtěte znovu a zkuste znovu.

RFC 9110 ↗
413

Datová část příliš velká

Tělo požadavku překračuje limit velikosti serveru.

Běžné při nahrávání velkých souborů. Konfigurace serveru (nginx, apache) nastavuje maximální velikost těla. Zkontrolujte konfiguraci serveru.

RFC 9110 ↗
414

URI příliš dlouhý

URL požadavku překračuje limit délky serveru.

Obvykle způsobeno velmi dlouhými řetězci dotazů (např. kódování dat v GET). Přepněte na tělo POST nebo zvyšte limit serveru, pokud jej kontrolujete.

RFC 9110 ↗
415

Nepodporovaný typ média

Server neumí zpracovat odeslané Content-Type.

Například odeslání application/xml na server, který přijímá pouze application/json. Nastavte správně hlavičku Content-Type.

RFC 9110 ↗
416

Rozsah není splnitelný

Požadovaný rozsah bajtů je mimo velikost prostředku.

Hlavička Range požaduje část, kterou soubor nemá — např. obnovení stahování za koncem souboru. Odpověď by měla obsahovat Content-Range se skutečnou velikostí.

RFC 9110 ↗
417

Očekávání selhalo

Server nemůže splnit požadavky hlavičky Expect.

Odesláno, když server nepodporuje Expect: 100-continue. Některé klienty tuto hlavičku standardně odesílají na velkých POSTech; deaktivace obvykle vyřeší chybu.

RFC 9110 ↗
418

Jsem čajová konvice

Server odmítá vařit kávu, protože je čajová konvice.

Aprilový vtip z roku 1998 (RFC 2324). Některá skutečná rozhraní API jej používají pro vtipy nebo k označení zastaralých koncových bodů. Není určeno pro produkční použití.

RFC 2324 ↗
421

Chybně nasměrovaný požadavek

Požadavek byl odeslán na server, který nemůže na něj odpovědět.

Běžné s opětovným použitím připojení HTTP/2: požadavek se dostal na server, který není nakonfigurován pro cílový název hostitele. Klient by se měl pokusit znovu na novém připojení.

RFC 9110 ↗
422

Nezpracovatelný obsah

Požadavek byl syntakticky platný, ale sémanticky špatný.

Například JSON byl správně analyzován, ale chybí povinné pole nebo hodnota pole je mimo rozsah. Běžné v ověřovacích odpovědích REST API.

RFC 9110 ↗
423

Uzamčeno

Prostředek je uzamčen.

WebDAV: zdrojový nebo cílový prostředek je uzamčen jiným klientem, takže operace nemůže pokračovat. Čekejte na uvolnění zámku nebo jej rozbijte s příslušným tokenem.

RFC 4918 ↗
424

Selhala závislost

Požadavek selhal, protože selhal předchozí závislý požadavek.

WebDAV: v řetězci závislých operací selhala dřívější akce, takže tato nebyla provedena. Hledejte dřívější selhání pro určení základní příčiny.

RFC 4918 ↗
425

Příliš brzy

Server odmítá zpracovat požadavek, který by mohl být znovu přehrán.

Související s TLS 1.3 0-RTT (rané údaje): server nebude riskovat zpracování možná znovu přehraného požadavku. Klient by se měl pokusit znovu po dokončení handshaku.

RFC 8470 ↗
426

Vyžaduje se upgrade

Klient musí přepnout na jiný protokol.

Server se odmítá obsluhovat požadavek přes aktuální protokol, ale po přechodu na jiný protokol ho obslouží — odpověď obsahuje hlavičku Upgrade s názvem požadovaného protokolu.

RFC 9110 ↗
428

Vyžaduje se předpoklad

Server vyžaduje, aby byl požadavek podmíněný.

Server vyžaduje podmíněné hlavičky (jako If-Match) aby se zabránilo ztrátě aktualizací. Načtěte prostředek, zachyťte jeho ETag a zašlete znovu s If-Match.

RFC 6585 ↗
429

Příliš mnoho požadavků

Klient je omezován rychlostí.

Zpomalte. Odpověď by měla obsahovat hlavičku Retry-After označující, kdy se znovu pokusit. Běžné u API s kvótami požadavků.

RFC 6585 ↗
431

Pole hlavičky požadavku příliš velká

Hlavičky jsou příliš velké na zpracování serverem.

Buď jedna hlavička, nebo celková velikost hlavičky překračuje limit — nejčastěji způsobeno nadměrnými cookies. Vymažte cookies nebo snižte, co vaše aplikace v nich ukládá.

RFC 6585 ↗
451

Nedostupné z právních důvodů

Přístup odepřen z právních důvodů.

Prostředek je blokován z právních důvodů — cenzura, soudní příkazy nebo místní předpisy. Číslo je narážkou na román Fahrenheit 451.

RFC 7725 ↗
500

Interní chyba serveru

Server narazil na neočekávaný stav.

Obecný záchyt pro chyby na straně serveru. Zkontrolujte protokoly serveru pro skutečnou příčinu: neošetřená výjimka, chyba databáze atd.

RFC 9110 ↗
501

Neimplementováno

Server nepodporuje požadovanou funkčnost.

Například server nerozpozná HTTP metodu. V praxi vzácné — častěji uvidíte 405.

RFC 9110 ↗
502

Chybná brána

Server, který funguje jako brána, obdržel špatnou odpověď od upstream serveru.

Běžné v architekturách mikroslužeb. Váš load balancer nebo reverzní proxy obdržel vadnou odpověď od back-end služby.

RFC 9110 ↗
503

Služba není dostupná

Server dočasně není schopen zpracovat požadavek.

Buď v údržbě nebo přetíženo. Odpověď by měla obsahovat hlavičku Retry-After. Často se vrací během nasazení.

RFC 9110 ↗
504

Timeout brány

Serveru brány vypršel časový limit při čekání na odpověď od upstream serveru.

Back-end služba neodpověděla dostatečně rychle. Zkontrolujte stav upstream služby a konfigurace timeoutu.

RFC 9110 ↗
505

HTTP verze není podporována

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

Hlavní verze HTTP požadavku není serverem podporována. S moderními klienty se téměř nikdy nesetkáte.

RFC 9110 ↗
506

Varianta také vyjednává

Server má chybnou konfiguraci vyjednávání obsahu.

Transparentní vyjednávání obsahu skončilo v smyčce: vybraná varianta je sama nakonfigurována na vyjednávání. Naznačuje chybu konfigurace serveru.

RFC 2295 ↗
507

Nedostatečné úložiště

Server nemá místo na disku.

Původně specifické pro WebDAV, ale někdy používáno obecnými servery. Znamená, že server nemůže uložit požadavek z důvodu omezení úložiště.

RFC 4918 ↗
508

Smyčka detekována

Server při zpracování požadavku detekoval nekonečnou smyčku.

WebDAV: zpracování požadavku Depth: infinity vstoupilo do smyčky (např. kruhové vazby). Operace byla ukončena.

RFC 5842 ↗
510

Nerozšířeno

Vyžaduje se další rozšíření požadavku.

Ze zastaralého HTTP Extension Framework: server potřebuje více informací, než aby mohl splnit požadavek. Prakticky nepoužíváno na moderním webu.

RFC 2774 ↗
511

Vyžaduje se ověření v síti

Klient se musí ověřit, aby získal přístup do sítě.

Používáno captive portály (WiFi v hotelu/letišti) k indikaci, že se uživatel musí přihlásit do sítě před přístupem na externí weby.

RFC 6585 ↗

Běžná použití

  • Odkaz na návrh APIPři navrhování REST API zvolte správný stavový kód pro každou odpověď.
  • Rychle vyhledejte kódy chybKdyž vaše aplikace vrátí matoucí chybu HTTP, vyhledejte, co to opravdu znamená.
  • Naučte se stavové kódy HTTPKomplexní odkaz pro studenty a vývojáře učící se HTTP a REST.
  • Rychlý odkaz během incidentůBěhem incidentů v produkci rychle vyhledejte, co každý stavový kód znamená.
  • Referenční návod pro dokumentaci APIPři psaní dokumentace API odkaz na autoritativní popisy stavových kódů, které vrátíte.

Jak to funguje

Tento nástroj je klientská referenční příručka postavená kolem pevně dané vyhledávací tabulky 63 stavových kódů HTTP pokrývajících všech pět tříd (1xx–5xx), z nichž každý je anotován svým definujícím číslem RFC. Neprovádí se žádné volání serveru, žádné externí API, žádný síťový požadavek — veškeré filtrování a zobrazení probíhá v prohlížeči pomocí vestavěných metod polí a řetězců JavaScriptu.

  1. 1
    Vyhledávací tabulka je načtena
    Celá sada 63 stavových kódů registrovaných u IANA je zabudována přímo do tohoto nástroje jako pole JavaScriptu, přičemž každá položka nese číselný kód, kanonický anglický název, kategorii třídy a konkrétní RFC, který jej definuje (např. RFC 9110 pro většinu kódů HTTP/1.1, RFC 6585 pro 429 Too Many Requests, RFC 2324 pro 418 I'm a Teapot).
  2. 2
    Filtrování běží v paměti
    Jak píšete nebo vybíráte filtr kategorie, Array.filter JavaScriptu běží nad seznamem v paměti a porovnává váš dotaz s číslem stavového kódu, kanonickým názvem a krátkým i dlouhým popisem pomocí String.includes — žádné zpoždění debounce, žádná zpáteční cesta na server.
  3. 3
    Podrobnosti se rozbalují s odkazem na RFC
    Každý výsledek se vykresluje jako prvek HTML details/summary. Rozbalení položky odhalí dlouhé vysvětlení a přímý odkaz na autoritativní RFC na rfc-editor.org, takže si můžete přečíst přesný text specifikace pro jakýkoli kód.
  4. 4
    Hluboké odkazy a kopírování do schránky
    Otevření položky aktualizuje hash URL na číslo kódu (např. #404), díky čemuž je stránka sdílitelná a vhodná pro záložky. Tlačítko kopírovat zapíše kanonický řetězec (např. „404 Not Found“) do schránky přes navigator.clipboard API prohlížeče.

Související nástroje

Časté dotazy