
Stavové kódy třídy HTTP 200 – k čemu slouží a jak s nimi pracovat
Stavové kódy ze skupiny 200 jsou nejčastější stavové kódy na internetu. Pomáhají nám rozumět tomu, co se odehrává před tím, než navštívíme webové stránky. V procesu komunikace mezi klientem a serverem jsou zcela klíčové a je důležité je znát.
Co je to stavový kód HTTP
HTTP je zkratka pro Hypertext Transfer Protocol. HTTP protokol používají klienti a servery ke komunikaci a výměně dat.
Cifra stavového kódu je trojice dekadických čísel, z níž první číslice stavového kódu určuje třídu odpovědi. Poslední dvě číslice třídu blíže specifikují.
Stavové kódy se vyskytují v pěti třídách:
- 1xx informační odpověď – požadavek byl přijat, pokračuje se v procesu
- 2xx úspěšný – požadavek byl úspěšně pochopen a přijat
- 3xx přesměrování – k dokončení požadavku je třeba provést další kroky
- 4xx chyba klienta – požadavek obsahuje špatnou syntaxi nebo nemůže být splněn
- 5xx chyba serveru – serveru se nepodařilo splnit zjevně platný požadavek
Stavový kód 200 OK je nejčastějším kódem na internetu
Kód 200 OK říká, že při komunikaci mezi klientem a serverem proběhlo vše v pořádku, požadavek byl úspěšný, dosahovaná webová stránka existuje a webový server klientovi odeslal související zdroje (obrázky, soubory CSS a JS atd.) Tento proces trvá jen zlomek vteřiny a uživatel si ho v podstatě nemá šanci všimnout. Proto o stavovém kódu 200 většina z nás ani dobře neví, ačkoli stojí za každou úspěšnou návštěvou webu.
Nicméně je užitečné jej znát. Potřebujeme ho například při auditu webu a dalších technických a SEO úkonech.
Výčet stavových kódů kategorie 200:
200 | Standardní odpověď pro úspěšný HTTP požadavek. Závisí na použité metodě. V případě metody GET odpověď obsahuje entitu odpovídající požadovanému zdroji. V případě POST metody bude obsahovat entitu popisující nebo obsahující výsledek akce. |
201 Created | Požadavkem je vytvoření nového zdroje, identifikovatelného dle URL. |
202 Accepted | Požadavek byl přijat, ale ještě není dokončen. |
203 Non-Authoritative Information (od HTTP/1.1) | Server správně zpracoval požadavek, ale návratové informace jsou z jiného zdroje. |
204 No Content | Server úspěšně zpracoval požadavek, ale nevrací žádný obsah. |
205 Reset Content | Server úspěšně zpracoval požadavek a klient může obnovit původní obsah dokumentu. |
206 Partial Content | Server doručuje pouze část zdroje. Používá se např. při stahování souborů (typicky obrázky či videa). Server klientovi posílá data po menších částech. |
207 Multi-Status (WebDAV) | Server vrací XML dokument, který obsahuje více odpovědí, jež jsou závislé na dalších požadavcích. |
HTTP metody požadavku kódů 200
Stavový kód 200 vrací server na základě úspěchu jednoho z požadavků GET, HEAD, PUT, POST nebo TRACE. Označují, že požadavek byl úspěšný a že v odpovědi serveru jsou požadované informace zastoupené.
- GET: Požadavek GET slouží k získání dat ze serveru. Po úspěšném požadavku GET server vrátí stavový kód HTTP 200, což znamená, že požadavek byl úspěšný.
- HEAD: Požadavek HEAD je podobný požadavku GET, ale vrací pouze hlavičky HTTP, součástí kterých může být např. datum poslední změny, typ a délka obsahu.
- PUT: Požadavek PUT se používá k aktualizaci nebo vytvoření prostředku na serveru. Úspěšný požadavek PUT znamená, že prostředek byl aktualizován nebo vytvořen.
- POST: Požadavek POST se obvykle používá k odesílání formulářových dat, například při odesílání formuláře nebo nahrávání souboru. Úspěšný požadavek POST znamená, že data byla přijata a úspěšně zpracována.
- TRACE: Požadavek TRACE se používá k testování spojení mezi klientem a serverem.
- HTTP metoda GET
Metoda GET odesílá zakódované informace o uživateli připojené k požadavku na stránku. Používá se k načtení dat ze serveru pomocí zadaného identifikátoru URI (Uniform Resource Identifier). Požadavky GET by měly načítat data z webového serveru pouze na základě požadavku HTTP a nemají žádný jiný vliv na data z odpovědi webového serveru.
GET /example.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.interval.cz
Accept-Language: cz
Accept-Encoding: gzip, deflate, br
Connection: Keep-Alive
Odpověď serveru na předchozí požadavek GET bude následující:
HTTP/1.1 200 OK
Date:
Server: Apache/2.2.14 (Win32)
Last-Modified:
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
- HTTP metoda HEAD
Metoda HEAD je podobná metodě GET, s tím rozdílem, že server odpoví bez těla zprávy. Používá se k vyžádání zdrojů z webového serveru, například webové stránky nebo obrázku.
HEAD /examples.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.interval.cz
Accept-Language: cz
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Požadavek odešle klient (v tomto případě prohlížeč) na server a server mu pošle zpět odpověď:
HTTP/1.1 200 OK
Date: Thursday, 02 Dec 2021 08:28:58 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
Odpověď uživateli sděluje, že požadavek byl úspěšný (indikováno „HTTP/1.1 200 OK“). A poskytuje mu různé další podrobnosti o požadovaném prostředku, například kdy byl naposledy změněn nebo jak je velký.
- HTTP metoda PUT
Metoda PUT dává serveru pokyn k uložení obsaženého těla zprávy do umístění určeného adresou URL.
PUT /example.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.interval.cz
Accept-Language: cz
Connection: Keep-Alive
Odpověď je v tomto případě stavový kód 201 Created, který říká, že server úspěšně vytvořil požadovaný prostředek.
HTTP/1.1 201 Created
Date: Thu, 02 Dec 2021 10:36:23 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
- HTTP metoda POST
Metoda POST požaduje uložení zprávy (entity) na zadané URI. Pokud URI odkazuje na již existující zdroj, je upraveno; v opačném případě může server vytvořit zdroj s tímto URI:
POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.interval.cz
Content-Type: text/xml; charset=utf-8
Content-Length: 88
Accept-Language: cz
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Odpověď obsahuje informace o datu, serveru, poslední úpravě, tagu, rozsahu přijatých dat, délce a typu obsahu, stavu spojení a HTML kód, který vygeneruje stránku webu:
HTTP/1.1 200 OK
Date: Thu, 02 Dec 2021 11:28:23 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
- HTTP TRACE Method and 200 Status Code Meaning
Požadavek metody TRACE obsahuje podrobnosti o serveru, například jeho verzi, stav připojení a typ obsahu a délku odpovědi.
< strong>TRACE / HTTP/1.1
Host: interval.cz
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Požadavek, který prohlížeč serveru odesílá obsahuje zdroj, hostitele serveru a klient prohlížeče, který požadavek zasílá. Server v odpovědi na výše uvedený požadavek odešle následující zprávu:
HTTP/1.1 200 OK
Date: Thu, 02 Dec 2021 07:36:44 GMT
Server: Apache/2.2.14 (Win32)
Connection: close
Content-Type: message/http
Content-Length: 39
TRACE / HTTP/1.1
Host: interval.cz
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Závěr
Stavové kódy HTTP 200 jsou nezbytné pro optimální uživatelskou zkušenost na internetu. Slouží k tomu, aby klienti a servery mohli bezpečně, efektivně a rychle komunikovat. Díky nim máme lepší přehled o tom, co se na webové stránce, na které se nacházíte, děje. Umožňují nám pochopit, co se odehrává předtím, než webové stránky navštívíme.