Vše, co jste chtěli vědět o HTTP stavových kódech

Upraveno 5 prosince, 2023 23:47

Každý z nás prakticky na denní bázi používá internet a zobrazuje na různých zařízeních obsah, který hledá. Pokud na server pomocí svého prohlížeče pošlete požadavek na zobrazení obsahu, dostanete obvykle zpět i tzv. HTTP stavový kód, který říká prohlížeči, s jakým výsledkem se požadavek na serveru setkal. HTTP stavové kódy jsou součástí protokolu HTTP, který definuje komunikaci mezi klientem a serverem. Některé kódy potom vidíte jako chybu, některé nevidíte vůbec (200, 301 ..). Pojďme se tedy podrobněji podívat na kódy, se kterými se setkáte nejčastěji. Vše, co jste chtěli vědět o HTTP stavových kódech tedy naleznete zde. Dozvíte se, k čemu jednotlivé kódy slouží a co obvykle znamenají. A to nejen v případě, že jde o chybu, ale i v případě, že jde o žádoucí stav.

Vše, co jste chtěli vědět o HTTP stavových kódech

Vše, co jste chtěli vědět o HTTP stavových kódech

Stavový kód 200 – Úspěch

Kód 200 obdržíte v situaci, ve které proběhl úspěšný HTTP požadavek. Znamená to, že server přijal a zpracoval požadavek úspěšně. To zahrnuje situaci, kdy je požadavek na webovou stránku úspěšný, a server Vám vrací očekávanou stránku, nebo její obsah. Tento kód tedy není chyba, ale potvrzení, že vše proběhlo správně. Jedná se tedy o ideální stav, který očekáváte při zadání libovolné domény do prohlížeče

Stavový kód 301 – Přesměrování (Moved permanently)

Tento kód můžete často vidět při změně struktury URL, nebo při přesunu obsahu na jiné místo na webu či na internetu. Tato technika se Vám může hodit pro zachování dobrého SEO (Search Engine Optimization) např. v momentě, kdy web migrujete na jinou doménu. Kód 301 označuje trvalý přesun obsahu na jinou URL adresu (přesměrování). Tím informujete klienta (a vyhledávače) o tom, že stará URL již není platná a že by měl používat novou URL. To Vám pomůže udržet konzistenci odkazů na webu a minimalizujete ztrátu SEO hodnocení. Vyhledávače díky tomu pochopí, že obsah pod danou adresou se nyní nachází jinde. Taktéž je vhodné, abyste používali 301 přesměrování v případě, kdy se chcete vyhnout duplicitnímu obsahu. Taková duplicita může vzniknout v momentě, kdy používáte na webu variantu s www i bez www najednou. Nejlepší praktikou pro Vás bude použít pouze jednu z těchto variant a druhou přesměrovat pomocí 301.

Příklad přesměrování pomocí 301 v PHP kódu:

				
					<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://domena.tld");
exit();
?>
				
			

Stavový kód 302 – Přesměrování (Found, Moved Temporarily)

Stavový kód 302, označovaný jako “Found” nebo “Moved Temporarily”, je důležitým prvkem protokolu HTTP, který signalizuje dočasné přesměrování webového obsahu na jinou URL. Tento kód se využije tehdy, když server informuje klienta (typicky webový prohlížeč), že požadovaný obsah byl dočasně přemístěn na jinou adresu a klient by měl provést nový požadavek na tuto novou URL. Kód 302 je klíčovým nástrojem pro správné řízení přesměrování. Když webový server vrátí tento kód, klient obvykle automaticky provede nový požadavek na zadanou adresu, což umožňuje uživatelům plynule procházet obsah, který byl přemístěn. Tento způsob můžete využít při aktualizacích, nebo úpravách struktury URL na webových stránkách.

Důležité je, že kód 302 označuje pouze dočasné přesměrování. To znamená, že původní URL může v budoucnosti opět obsahovat požadovaný obsah. Proto by klienti měli používat novou URL pouze dočasně. Toto rozlišení na dočasnou změnu je významné pro uchování SEO hodnocení a zachování platných odkazů na webové stránky. V praxi pak kód 302 často používají vývojáři webů pro řešení situací, kdy mají webové stránky dočasnou změnu v obsahu, nebo ve struktuře URL.

Příklad přesměrování pomocí 302 v PHP kódu:

				
					<?php
header("HTTP/1.1 302 Found");
header("Location: https://domena.tld");
exit();
?>
				
			

Stavový kód 401 – Neautorizováno (Unauthorized)

Kód 401 signalizuje, že uživatel nemá povolení pro přístup k obsahu. Vyžaduje se ověření uživatele, obvykle prostřednictvím uživatelského jména a hesla. V praxi se tedy s takovým stavovým kódem setkáte všude, kde se musíte přihlásit pro zobrazení obsahu. Jako jeden z mnoha příkladů mohu uvést situaci, kdy máte na webu složku zaheslovanou např. pomocí souboru .htaccess.

Stavový kód 403 – Zakázáno (Forbidden)

Kód 403 označuje, že nemáte oprávnění přistupovat k určitému obsahu, nebo stránce. Chyba vzniká kvůli omezením na straně serveru. Pokud se opět podíváme na praxi, pak se s tímto kódem můžete setkat např. v situaci, kdy jste zadali špatné přihlašovací údaje a server Vám odmítl poskytnout požadovaný obsah. Taktéž se s tímto kódem setkáte v momentě, kdy Vás server odmítne např. kvůli GEO-IP blokaci (pokud na web přistupujete ze země, která je na serveru zakázaná, nebo blokovaná).

Stavový kód 404 – Stránka nenalezena (Not Found)

S chybou 404 se dost možná setkáte na internetu nejčastěji (pokud se tedy budeme bavit o viditelných chybách). Tento kód nejčastěji značí fakt, že webová stránka nebyla nalezena. To znamená, že server nenašel požadovanou stránku nebo soubor, na který se odkazujete. Může to být způsobeno chybnou URL, smazáním, nebo přesunem stránky, či např. špatnými rewrite pravidly při úpravě URL adres na tzv. hezké. Z hlediska SEO hraje tento stavový kód také velkou roli. Pokud tvoříte webové stránky, vždy byste měli mít na paměti, že jednou z dobrých praktik je také vytvoření vlastní chybové stránky 404. Upozorníte tím na problém nejen uživatele, ale také internetový vyhledávač. Zároveň zde máte velké pole působnosti co se kreativity týče, a máte možnost uživatele svého webu upozornit na jiný, potenciálně zajímavý obsah Vašich stránek.

Pokud se chcete dozvědět o chybě 404 více, podívejte se na tento článek: Chybová stránka 404

Stavový kód 408 – Časový limit požadavku (Request Timeout)

Tento kód signalizuje, že server neobdržel kompletní požadavek od klienta v určeném časovém limitu. To může být způsobeno několika faktory, včetně pomalého internetového spojení mezi klientem a serverem, zaneprázdněností serveru, nebo jinými faktory, které brání včasnému doručení požadavku.

  • Důvody vzniku: Kód 408 se objevuje v momentě, kdy klient neposkytne serveru kompletní požadavek včetně všech potřebných informací a dat v určeném časovém limitu. To může nastat, pokud klientovo spojení bylo příliš pomalé, nebo došlo k problémům při přenosu dat.
  • Zpracování kódu 408: Klient by měl reagovat na kód 408 tím, že znovu odesílá požadavek. Většina webových prohlížečů to provádí automaticky. Pokud se problém s časovým limitem opakuje, může to být známkou problému s klientovým internetovým spojením, nebo přetíženým serverem.
  • Použití v praxi: Kód 408 se často vyskytuje v online aplikacích, kde rychlost komunikace mezi klientem a serverem hraje klíčovou roli. Například při odesílání formuláře na webových stránkách může dojít ke stavovému kódu 408, pokud odeslání dat trvá příliš dlouho.

Stavový kód 409 – Konflikt (Conflict)

Stavový kód 409 v protokolu HTTP se nazývá konflikt (conflict). Tento kód signalizuje, že server nemohl zpracovat požadavek klienta, protože došlo ke konfliktu se stavem na serveru. Konflikt obvykle nastane tehdy, když dva, nebo více klientů provádí operace, které jsou v rozporu, nebo se vzájemně překrývají se zdroji na serveru, který podléhá verzování nebo omezením.

Zjednodušeně řečeno se tak kód 409 objevuje v momentě, kdy server detekuje konflikt mezi různými požadavky klientů na stejném zdroji, nebo datovém objektu. To může zahrnovat pokusy o aktualizaci dat, která byla mezi tím změněna jiným uživatelem.

Stavový kód 500 – Interní chyba serveru (Internal server error)

Chybový kód 500 označuje interní chybu serveru. Tento kód se obvykle oznamuje uživateli, že došlo k chybě na straně serveru, která brání zpracování požadavku. To může být způsobeno chybami v programovém kódu, nedostupností databáze nebo přetížením serveru. Uživatel nemůže tuto chybu samostatně odstranit a měl by se obrátit na provozovatele webového serveru. Možné příklady vzniku tohoto problému mohou být špatná práva na souborech, problémy ve zdrojovém kódu, špatné syntaxe v souboru .htaccess a mnohé další.

Stavový kód 503 – Služba nedostupná (Service Unavailable)

Kód 503 informuje, že služba nebo server je dočasně nedostupný. Důvodem může být údržba, přetížení serveru nebo jiné, leckdy dočasné problémy.

Stavový kód 504 – Uplynul časový limit na gateway (Gateway Timeout)

Tento kód signalizuje, že server jako brána (gateway) neobdržel včas odpověď od jiného serveru nebo brány, se kterou komunikoval. Stavový kód 504 se nevztahuje přímo ke klientskému požadavku a serveru, ale místo toho indikuje problém v komunikaci mezi jedním serverem a dalším.

Vše, co jste chtěli vědět o HTTP stavových kódech

Závěr

V tomto článku jsem probral stavové kódy, které jsou patrně nejvíce běžné při klasické komunikaci mezi klientem a serverem. Proč je dobré znát význam těchto kódů? Důvod je takový, že se s těmito kódy dost často setkáte při finálním ladění webu. Pokud cokoliv na webu nefunguje, můžete zkoumat problémy např. pomocí webové konzole, kde v sekci určené pro síť vidíte přesnou komunikaci, kterou provádí klient a server. Při odhalování problémů je pak velmi dobré znát význam a vlastnosti těchto kódů, jelikož dost často velmi dobře naznačují, kde můžete začít hledat problém.

Web je vytvářen s pečlivostí k obsaženým informacím. Snažím se poskytovat kvalitní a užitečný obsah, který ostatním pomáhá, nebo je inspiruje. Pokud jste spokojeni s mou prací a chtěli byste mě podpořit, můžete to udělat prostřednictvím jednoduchých možností.

Byl pro Vás tento článek užitečný?

Klikni na počet hvězd pro hlasování.

Průměrné hodnocení. 0 / 5. Počet hlasování: 0

Zatím nehodnoceno! Buďte první

Jak užitečný vidíte tento článek.

Sledujte mě na sociálních médiích.

Je mi líto, že pro Vás nebyl článek užitečný.

Jak mohu vylepšit článek?

Řekněte mi, jak jej mohu zlepšit.

newsletter

Odebírejte Newsletter

Buďte v obraze! Připojte se k odběru newsletteru a buďte první, kdo získá nejnovější informace přímo do vaší e-mailové schránky. Sledujte aktuality, exkluzivní události a inspirativní obsah, přímo na Vašem e-mailu.  

Odebírat
Upozornit na
guest
0 Komentáře/ů
Vložené zpětné vazby.
Zobrazit všechny komentáře.

Pokud mi chcete napsat rychlou zprávu, využije, prosím, níže uvedený
kontaktní formulář. Děkuji.

Další Kontaktní údaje