Stavové kódy protokolu HTTP
Jistě si každý z nás vzpomene na nepříjemnost, kdy mu internetový prohlížeč při surfování na netu vyhodí místo požadované internetové stránky chybu 404 Not Found. Setkat jste se mohli i s jinými chybami. Jaké to jsou a co znamenají?
Všechny tyto chyby, přesněji stavové kódy protokolu HTTP, lze rozdělit do následujících pěti skupin:
Kategorie | Rozsah stavových kódů | Popis |
Informační | 100 – 199 | Zprávy definované konkrétní aplikací. |
Úspěch | 200 – 299 | Požadavek byl úspěšně zpracován. |
Přesměrování | 300 – 399 | Klient musí pro konečné zpracování požadavků vykonat určitou činnost. O této činnosti se uživatel nemusí dovědět. |
Chyba klienta | 400 – 499 | Problémy na straně klienta. |
Chyba serveru | 500 – 599 | Problémy na straně serveru. |
Nyní si můžeme trochu podrobněji probrat ty hlavní:
Kód | Slovní (EN / CZ) | Popis |
100 | Continue / Pokračovat | Žadatel by měl pokračovat v požadavku. Tímto kódem server oznamuje, že obdržel první část požadavku a čeká na zbývající část. |
101 | Switching protocols / Změna protokolů | Žadatel vyzval server ke změně protokolů a server oznamuje, že tak učiní. |
200 | Successful / Úspěšné | Server požadavek úspěšně zpracoval. Obecně to znamená, že server poskytl požadovanou stránku. |
201 | Created / Vytvořeno | Požadavek byl úspěšně splněn a server vytvořil nový prostředek. |
202 | Accepted / Přijato | Server požadavek přijal, ale dosud jej nezpracoval. |
203 | Non-authoritative information / Nesměrodatná informace | Server požadavek úspěšně zpracoval, ale podává informace, které mohou být z jiného zdroje. |
204 | No content / Žádný obsah | Server požadavek úspěšně zpracoval, ale nezobrazuje žádný obsah. |
205 | Reset content / Obnovit obsah | Server požadavek úspěšně zpracoval, ale nezobrazuje žádný obsah. Na rozdíl od kódu 204 tato odpověď vyžaduje, aby žadatel obnovil zobrazení dokumentu (například smazal formulář pro nové zadání). |
206 | Partial content / Dílčí obsah | Server úspěšně zpracoval dílčí požadavek typu GET. |
300 | Multiple choices / Více možností | Server může na základě požadavku provést více různých akcí. Server může vybrat akci na základě žadatele (uživatelský agent) nebo může server dát žadateli na výběr ze seznamu akcí. |
301 | Moved permanently / Trvale přemístěno | Požadovaná stránka byla trvale přemístěna jinam. Když server zobrazí toto hlášení (jako odpověď na požadavek typu GET nebo HEAD), automaticky přesměruje žadatele na nové umístění. |
302 | Moved temporarily / Dočasně přemístěno | Server právě na požadavek odpovídá stránkou z jiného umístění, ale žadatel by měl při budoucích požadavcích používat i nadále umístění původní. Tento kód se podobá kódu 301 v tom, že v případě požadavků typu GET nebo HEAD automaticky přesměruje žadatele jinam. |
303 | See other location / viz jiné místo | Tento kód zobrazí server v případě, že by měl žadatel pro získání odpovědi provést samostatný požadavek typu GET na jiné umístění. U všech požadavků kromě typu HEAD provede server automatické přesměrování na nové umístění. |
304 | Not modified / Nebylo upraveno | Požadovaná stránka nebyla od posledního požadavku změněna. Když server vrátí tuto odpověď, nevrátí obsah příslušné stránky. |
305 | Use proxy / Použít server proxy | Žadatel může získat přístup k požadované stránce pouze prostřednictvím serveru proxy. Když server vrátí tuto odpověď, uvede též server proxy, který by měl žadatel použít. |
307 | Temporary redirect / Dočasné přesměrování | Server na požadavek odpovídá stránkou z jiného umístění, ale žadatel by měl při budoucích požadavcích používat i nadále původní umístění. Tento kód se podobá kódu 301 v tom, že v případě požadavků typu GET nebo HEAD automaticky přesměruje žadatele jinam. |
400 | Bad request / Chybný požadavek | Server nedokázal interpretovat syntaxi požadavku. |
401 | Not authorized / Nepovoleno | Požadavek vyžaduje ověření. Tuto odpověď může server vrátit u stránky, která je přístupná až po přihlášení. |
403 | Forbidden / Zakázáno | Server požadavek zamítl. |
404 | Not found / Nenalezeno | Server nemůže požadovanou stránku nalézt. Server často zobrazuje tento kód například tehdy, když reaguje na požadavek na stránku, která na serveru neexistuje. |
405 | Method not allowed / Nepřípustná metoda | Metoda specifikovaná v požadavku není povolená. |
406 | Not acceptable / Nepřijatelné | Požadovaná stránka nemůže poskytnout požadované vlastnosti obsahu. |
407 | Proxy authentication required / Vyžaduje se ověření serverem proxy | Tento stavový kód se podobá kódu 401 (nepovoleno), ale požaduje ověření žadatele pomocí serveru proxy. Když server vrátí tuto odpověď, uvede též server proxy, který by měl žadatel použít. |
408 | Request timeout / Vypršel časový limit požadavku | Při čekání na požadavek vypršel časový limit serveru. |
409 | Conflict / Konflikt | Server při plnění požadavku narazil na konflikt. Server musí v odpovědi zahrnout informace o konfliktu. Tento kód může server zobrazit jako odpověď na požadavek PUT, který je v konfliktu s předchozím požadavkem, spolu se seznamem rozdílů mezi oběma požadavky. |
410 | Gone / Odstraněno | Tuto odpověď vrátí server v případě, že byl požadovaný zdroj trvale odstraněn. Podobá se kódu 404 (Nenalezeno), ale občas se používá místo kódu 404 v případě zdrojů, které existovaly, ale již neexistují. Pokud byl zdroj trvale přemístěn, měli byste nové umístění zdroje specifikovat pomocí kódu 301. |
411 | Length required / Je vyžadována délka | Server nepřijme požadavek bez platné hodnoty v poli záhlaví Content-Length. |
412 | Precondition failed / Předpoklad selhal | Server nesplňuje některý z předpokladů, které žadatel umístil do požadavku. |
413 | Request entity too large / Požadavek je příliš rozsáhlý | Server nemůže požadavek zpracovat, protože je pro server příliš rozsáhlý. |
414 | Requested URI is too long / Požadovaný identifikátor URI je příliš dlouhý | Požadovaný identifikátor URI (zpravidla adresa URL) je příliš dlouhý na to, aby jej server mohl zpracovat. |
415 | Unsupported media type / Nepodporovaný typ média | Požadavek je zadán ve formátu, který požadovaná stránka nepodporuje. |
416 | Requested range not satisfiable / Požadovaný rozsah nelze uspokojit | Server zobrazí tento stavový kód, pokud reaguje na požadavek v rozsahu, který není u této stránky k dispozici. |
417 | Expectation failed / Očekávání selhalo | Server nemůže splnit podmínky uvedené v poli Expect v záhlaví požadavku. |
500 | Internal server error / Interní chyba serveru | Na serveru došlo k chybě, a proto nelze požadavek splnit. |
501 | Not implemented / Není implementováno | Server není požadavek schopen splnit. Server může tento kód zobrazit například tehdy, když nerozpozná metodu požadavku. |
502 | Bad gateway / Nesprávná brána | Server fungoval jako brána nebo proxy a obdržel neplatnou odpověď od serveru nacházejícího se výše v hierarchii. |
503 | Service unavailable / Služba není dostupná | Server je momentálně nedostupný (protože je přetížený nebo vypnutý z důvodu údržby). Obvykle se jedná o dočasný stav. |
504 | Gateway timeout / Vypršel časový limit brány | Server fungoval jako brána nebo proxy a neobdržel včasný požadavek od serveru nacházejícího se výše v hierarchii. |
505 | HTTP version not supported / Verze HTTP není podporována | Server nepodporuje verzi protokolu HTTP použitou v požadavku. |
Napsat komentář