Co je HTTP protokol
HTTP (Hypertext Transfer Protocol) je základní protokol, který umožňuje přenos informací mezi vaším webovým prohlížečem a webovým serverem.
Je nezbytný pro zobrazení webových stránek, protože zajišťuje přenos dat, jako je text, obrázky nebo odkazy, které vidíte na internetu.
Jak HTTP protokol funguje?
Při zadání adresy webové stránky do prohlížeče požádá HTTP protokol server o požadovaný obsah a následně vám jej zobrazí.
Data jsou však přenášena v otevřené podobě, takže je mohou potenciálně zachytit nebo změnit třetí strany.
Tento způsob přenosu může být dostatečný pro nenáročné informace, ale u citlivých dat, jako jsou přihlašovací údaje, objednávky a hesla, představuje bezpečnostní riziko.
HTTP je tedy rychlý a funkční, ale nedokáže zaručit bezpečnost dat v síti.
Proto se dnes standardně používá jeho bezpečnější verze: HTTPS.
HTTP stavové kódy
S HTTP protokolem se setkáte hlavně ve chvíli, kdy při zpracování vašeho požadavku a přenosu informací dojde k problému.
V tu chvíli server vrátí chybu a místo požadované webové stránky uvidíte HTTP stavový kód.
Těch existuje celá řada, nejen chybových.
HTTP stavové kódy jsou čísla, která server vrátí jako odpověď na váš požadavek (např. prohlížeče), aby sdělil stav požadavku.
Indikují, zda byl požadavek úspěšný, jestli došlo k přesměrování, nebo zda nastala chyba na straně klienta či serveru.
Zde je přehled všech základních HTTP stavových kódů, rozdělených podle jejich kategorií:
1xx – Informativní kódy
- 100 Continue: Klient může pokračovat v odesílání požadavku, server zatím přijímá.
- 101 Switching Protocols: Server přijal žádost o přepnutí protokolů (např. z HTTP na WebSocket).
- 102 Processing: Server přijal požadavek a pracuje na něm, ale zpracování ještě nebylo dokončeno.
2xx – Úspěšné kódy
- 200 OK: Požadavek byl úspěšně zpracován a odpověď je přenesena.
- 201 Created: Požadavek byl úspěšný a vedl k vytvoření nového zdroje.
- 202 Accepted: Požadavek byl přijat, ale ještě nebyl zcela zpracován
- 203 Non-Authoritative Information: Úspěšná odpověď, ale informace pocházejí ze třetí strany.
- 204 No Content: Požadavek byl úspěšný, ale není k dispozici žádný obsah.
- 205 Reset Content: Požadavek byl úspěšný, ale klient by měl obnovit zobrazení.
- 206 Partial Content: Server posílá pouze část požadovaných dat (částečné načítání).
3xx – Přesměrování
- 300 Multiple Choices: Existuje více možností pro požadovaný zdroj, klient si musí vybrat.
- 301 Moved Permanently: Požadovaný zdroj byl trvale přesunut na novou URL.
- 302 Found: Požadovaný zdroj je dočasně dostupný na jiné URL.
- 303 See Other: Požadavek by měl být směrován na jinou URL, často se používá po metodě POST.
- 304 Not Modified: Zdroj nebyl od poslední kontroly změněn.
- 307 Temporary Redirect: Dočasné přesměrování, kde by se metoda požadavku neměla měnit.
- 308 Permanent Redirect: Trvalé přesměrování, metoda požadavku by se neměla měnit.
4xx – Klientské chyby
- 400 Bad Request: Požadavek nebyl správně zformátován a server ho nemůže zpracovat.
- 401 Unauthorized: Požadavek vyžaduje autentizaci uživatele.
- 402 Payment Required: Rezervováno pro budoucí použití, v současnosti se používá zřídka.
- 403 Forbidden: Server odmítá požadavek, přístup není povolen.
- 404 Not Found: Požadovaný zdroj nebyl nalezen na serveru.
- 405 Method Not Allowed: Metoda požadavku není povolena pro tento zdroj.
- 406 Not Acceptable: Server nemůže vrátit odpověď ve formátu požadovaném klientem.
- 407 Proxy Authentication Required: Požadavek vyžaduje autentizaci přes proxy server.
- 408 Request Timeout: Server čekal příliš dlouho na dokončení požadavku od klienta.
- 409 Conflict: Konflikt požadavků na serveru, např. duplicitní požadavek.
- 410 Gone: Požadovaný zdroj byl trvale odstraněn a již není k dispozici.
- 411 Length Required: Požadavek vyžaduje specifikaci délky obsahu.
- 412 Precondition Failed: Podmínky v požadavku nebyly splněny.
- 413 Payload Too Large: Požadavek je příliš velký na zpracování serverem.
- 414 URI Too Long: Požadovaná URL adresa je příliš dlouhá pro zpracování.
- 415 Unsupported Media Type: Typ obsahu není podporován serverem.
- 416 Range Not Satisfiable: Požadovaný rozsah dat nelze splnit (např. neexistuje část souboru).
- 417 Expectation Failed Server nemůže splnit požadavek specifikovaný v hlavičce.
- 418 I’m a teapot: Vtipný kód z protokolu Hyper Text Coffee Pot Control (HTCPCP), který znamená, že server je konvička a neumí uvařit kávu.
- 421 Misdirected Request: Požadavek byl směrován na server, který jej nemůže zpracovat.
- 426 Upgrade Required: Server vyžaduje změnu protokolu na novější verzi.
5xx – Serverové chyby
- 500 Internal Server Error: Na serveru došlo k neočekávanému problému, který zabránil dokončení požadavku.
- 501 Not Implemented: Server nepodporuje požadovanou metodu nebo funkci.
- 502 Bad Gateway: Server obdržel neplatnou odpověď od dalšího serveru.
- 503 Service Unavailable: Server je dočasně nedostupný (např. kvůli údržbě nebo přetížení).
- 504 Gateway Timeout: Server nedostal odpověď od jiného serveru včas.
- 505 HTTP Version Not Supported: Server nepodporuje požadovanou verzi protokolu HTTP.
- 507 Insufficient Storage: Server nemá dostatek místa k dokončení požadavku.
- 508 Loop Detected: Server detekoval nekonečnou smyčku při zpracování požadavku.
- 510 Not Extended: Požadavek vyžaduje další rozšíření, která server nepodporuje.