Stavové kódy HTTP

z Wikipédie, slobodnej encyklopédie
Prejsť na: navigácia, hľadanie

Stavový kód HTTP je súčasť hlavičky odpovede servera na klientskú požiadavku. Stavový kód upresňuje, ako bola odpoveď serverom spracovaná – či bola požiadavka vybavená kladne, záporne, alebo došlo k chybe. Ďalej je na klientovi, aby kód stavu odpovede interpretoval a následne podnikol patričné ​​kroky.

Súčasťou hlavičky odpovede spolu so stavovým kódom je tiež stavové hlásenie, čo je anglický slovný popis stavového kódu. Stavové kódy, sú rozdelené podľa charakteru odpovede do piatich kategórií – informačné, úspech, presmerovanie, chybná požiadavka (chyba klienta) a chyba servera.

Stavový kód je trojica dekadických čísel, kde prvé číslo určuje kategóriu odpovede a zvyšné čísla ju bližšie špecifikujú.

Oficiálny zoznam stavových kódov HTTP spravuje organizácia Internet Assigned Numbers Authority IANA.[1]

Webový server IIS od firmy Microsoft niekedy pridáva k samotnému stavovému kódu ešte dodatočné číslice, aby mohol klientovi poskytnúť špecifickejšie informácie o vzniknutej udalosti.[2]

1xx Informačné[upraviť | upraviť zdroj]

100 Continue
Hovorí, že server dostal hlavičku požiadavky a čaká na klienta, aby odoslal telo správy (napr. POST dáta).
101 Switching protocol
Je odoslaná ako potvrdenie, keď klient požiada server o zmenu komunikačného protokolu.
102 Processing (WebDAV) (RFC 2518)
Požiadavka WebDAV môže obsahovať množstvo podpožiadaviek, ktoré môžu spôsobiť dlhšie vykonávanie požiadavky. Kód hovorí, že požiadavka bola prijatá na spracovanie, ale odpoveď ešte nie je dostupná. Predíde sa tak tomu, aby klient začal považovať kvôli oneskoreniu požiadavky za stratenú a zbytočne ju opakoval.

2xx Success[upraviť | upraviť zdroj]

200 OK
Štandardná odpoveď pre úspešnú HTTP požiadavku. Odpoveď bude závisieť od použitej metódy. V prípade použitia metódy GET bude odpoveď obsahovať entitu zodpovedajúcu požadovanému zdroju. V prípade POST metódy bude obsahovať entitu opisujúcu alebo obsahujúcu výsledok akcie.
201 Created
Výsledkom odpovede je vytvorenie nového zdroja identifikovateľného podľa URI.
202 Accepted
Požiadavka bola prijatá na spracovanie, ale ešte nebola dokončená.
203 Non-Authoritative Information (od HTTP / 1.1)
Server spracoval požiadavku kladne, ale návratová informácia pochádza z iného zdroja.
204 No Content
Server úspešne spracoval požiadavku, ale nevracia žiadny obsah.
205 Reset Content
Server úspešne spracoval požiadavku, ale nevracia žiadnu odpoveď a hovorí klientovi, že smie obnoviť pôvodný obsah dokumentu.
206 Partial Content
Server doručil iba časť zdroja a to vďaka hlavičke range, ktorú klient odoslal. Hlavičku range používajú nástroje ako wget pre opätovné spojenie prerušených sťahovaní alebo rozdelenie sťahovaní do viacerých prúdov.
207 Multi-Status (WebDAV) (RFC 4918)
V tele odpovede je XML dokument obsahujúci viac oddelených kódov odpovedí, ktoré závisia na podpožiadavkách.

3xx Redirect[upraviť | upraviť zdroj]

300 Multiple Choices
Hovorí, že požadovaný dokument je dostupný na viacerých miestach, a požaduje, aby ho klient špecifikoval v nasledujúcej požiadavke.
301 Moved Permanently
Tento a všetky budúce požiadavky by mali byť smerované na dané URI.
302 Found
Najviac používaný pre presmerovanie. Moderné prehliadače implementujú kód 302 funkcionalitou 303.
303 See Other (since HTTP / 1.1)
Odpoveď na požiadavku môže byť nájdená na inom URI pomocou metódy GET.
304 Not Modified
Indikuje, že od poslednej požiadavky sa zdrojový dokument nezmenil. Odpoveď s týmto kódom nesmie obsahovať telo.
305 Use Proxy (since HTTP / 1.1)
Ide o bezpečnostný mechanizmus. Server prostredníctvom kódu 305 klientovi hovorí, že požiadavku musí odoslať znova pomocou proxy serveru uvedeného v URL.
306 Switch Proxy
Je rezervovaný, ale nepoužíva sa.
307 Temporary Redirect (since HTTP / 1.1)
Stránka bola dočasne presunutá na iné miesto.

4xx Client Error[upraviť | upraviť zdroj]

400 Bad Request
Požiadavka nemôže byť vykonaná, pretože bola syntakticky nesprávne zapísaná.
401 Unauthorized
Používaný tam, kde je vyžadovaná autorizácia, ale zatiaľ nebola vykonaná.
402 Payment Required
Rezervovaný pre budúce účely.
403 Forbidden
Požiadavka bola legálna, ale server odmietol odpovedať. Na rozdiel od 401 Unauthorized response tu autorizácia nehrá žiadnu úlohu.
404 Not Found
Požadovaný dokument nebol nájdený, ale v budúcnosti môže byť dostupný.
405 Method Not Allowed
Požiadavka bola zavolaná na zdroj metódou, ktorú nepodporuje. Napríklad ide o formulár, ktorý odosiela dáta metódou POST, ale niekto sa ho namiesto toho pokúsi odoslať metódou GET.
406 Not Acceptable
Server dokáže generovať iba odpoveď, ktorá nie je klientom podporovaná.
407 Proxy Authentication Required
Pred vykonaním požiadavky je nutné, aby bola táto požiadavka autentizovaná proxy serverom.
408 Request Timeout
Vypršal čas vyhradený na spracovanie požiadavky.
409 Conflict
Indikuje, že požiadavka nemôže byť spracovaná vzhľadom na vzniku konfliktu.
410 Gone
Hovorí, že daná stránka už nie je naďalej dostupná.
411 Length Required
Klient v požiadavke nešpecifikuje vyžadovanú dĺžku obsahu – nie je definovaná hlavička Content-Length.
412 Precondition Failed
Prednastavená podmienka v požiadavke bola serverom vyhodnotená ako chybná.
413 Request Entity Too Large
Server neakceptoval požiadavku, pretože požadované množstvo je príliš veľké.
414 Request-URI Too Long
URI požiadavka je príliš dlhá.
415 Unsupported Media Type
Požiadavka obsahuje serverom nepodporovaný typ média, a preto nebola vykonaná.
416 Requested Range Not Satisfiable
Klient žiada časť súboru, ale server nemôže túto časť zaistiť. Môže sa objaviť, ak je v požiadavke vyplnená hlavička Range s rozsahom nevyhovujúcim súboru.
417 Expectation Failed
Server nemôže dosiahnuť predpoklad v hlavičke Expect.
418 Im a teapot (kanvica na čaj)
Definovaný v roku 1998 ako Aprílový žartík.
422 Unprocessable Entity (WebDAV) (RFC 4918)
Požiadavka je syntakticky správna, ale kvôli sémantickým chybám ju nie je možné splniť.
423 Locked (WebDAV) (RFC 4918)
Požadovaný zdroj je uzamknutý.
424 Failed Dependency (WebDAV) (RFC 4918)
Táto požiadavka skončila neúspechom, vzhľadom na neúspešnú predchádzajúcu požiadavku.
425 Unordered Collection (RFC 3648)
426 Upgrade Required (RFC 2817)
Klient by mal použiť iný protokol ako TLS/1.0.
449 Retry With
Rozšírenie protokolu od spoločnosti Microsoft. Po vykonaní patričnej akcie, môže byť požiadavka opakovaná.
450 Blocked by Windows Parental Controls
Ďalšie rozšírenie protokolu od spoločnosti Microsoft. Táto chyba je vrátená, keď je spustený nástroj Windows Parental Controls a je zablokovaný prístup k určitej stránke.
451 Unavailable For Legal Reasons
Nedostupné z právnych dôvodov.
499 Client Closed Request
Rozšírenie od Nginx. Kód je určený pre zaznamenávanie v prípade, že klient ukončil spojenie počas spracovávania požiadavky serverom.

5xx Server Error[upraviť | upraviť zdroj]

Server nedokázal spracovať validnú požiadavku. Stavové kódy začínajúce číslicou "5" indikujú prípady, keď server zaznamenal chybu, alebo nie je schopný spracovať požiadavku. Pri odpovedi na požiadavku HEAD by server mal priložiť upresnenie chyby a či je tento stav prechodný alebo trvalý. Následne by mala byť táto informácia zobrazená používateľovi, jeho prehliadačom.

500 Internal Server Error
Všeobecné chybové hlásenie. Pri spracovávaní požiadavky došlo k bližšie nešpecifikovanej chybe.
501 Not Implemented
Nebola rozpoznaná metóda požiadavky, alebo server túto metódu neovláda.
502 Bad Gateway
Túto správu zasiela proxy server klientovi, keď od servera dostal chybovú správu.
503 Service Unavailable
Služba je dočasne nedostupná. Môže byť spôsobená preťažením serveru alebo z dôvodu údržby.
504 Gateway Timeout
Túto správu zasiela proxy server klientovi v prípade, že nedostal od cieľového servera odpoveď v danom čase (dostal od neho 408: Request Timeout).
505 HTTP Version Not Supported
Server nepodporuje verziu protokolu HTTP použitú v žiadosti.
506 Variant Also Negotiates (RFC 2295)
507 Insufficient Storage (WebDAV) (RFC 4918)
509 Bandwidth Limit Exceeded (Apache bw/limited extension)
Nie je špecifikovaný v RFC.
510 Not Extended (RFC 2774)
Na spracovanie požiadavky sú potrebné ďalšie rozšírenia.

Referencie[upraviť | upraviť zdroj]

  1. Hypertext Transfer Protocol (HTTP) Status Code Registry. Iana.org. prístup: March 5, 2016.
  2. Kódy stavu HTTP ve službě IIS 7.0, IIS 7.5 a IIS 8.0 [online]. Microsoft, rev. 2014-03-07, [cit. 2016-03-05]. Dostupné online.

Tento článok je čiastočný alebo úplný preklad článku Stavové kódy HTTP na českej Wikipédii.

Pozri aj[upraviť | upraviť zdroj]

Externé odkazy[upraviť | upraviť zdroj]