HTTP stavové kódy
HTTP odpoveď začína trojciferným kódom a krátkym názvom. Prvá číslica je celé zhrnutie: 1xx je predbežná, 2xx uspela, 3xx odkazuje inam, 4xx viní požiadavku, 5xx viní server. Ak si zapamätáte len toto, prečítate aj log, ktorý ste nikdy nevideli.
Názvy sú tu tie z RFC, po anglicky, pretože presne tak idú po sieti — server posiela „Not Found“, nie jeho preklad, a text, ktorý grepujete v logu, sa musí zhodovať s bajtmi, ktoré naozaj odišli.
Rozdiely, ktoré robia skutočné problémy, sú vnútri tried, nie medzi nimi: 401 verzus 403, 301 verzus 308 a 502 verzus 503 odpovedajú každý na inú otázku o tom, čo robiť ďalej — a každý sa bežne používa namiesto toho druhého.
1xx — informačné
3Predbežné: odpoveď nie je konečná a nasleduje ďalšia.
| Kód | Názov v RFC | Čo znamená |
|---|---|---|
| 100 | Continue | Hlavičky prijaté, pokračujte v posielaní tela. |
| 101 | Switching Protocols | Prepnutie protokolu — handshake WebSocketu. |
| 103 | Early Hints | Rané tipy: prednačítajte tieto zdroje, kým sa pripravuje skutočná odpoveď. |
2xx — úspech
5Požiadavka bola prijatá, pochopená a akceptovaná.
| Kód | Názov v RFC | Čo znamená |
|---|---|---|
| 200 | OK | Úspech, s telom odpovede. |
| 201 | Created | Vytvorené.Malo by nesť hlavičku Location smerujúcu na nový zdroj. |
| 202 | Accepted | Prijaté na spracovanie, ktoré ešte neprebehlo. |
| 204 | No Content | Úspech a zámerne bez tela.Správna odpoveď na DELETE alebo na uloženie, ktoré nemá čo vrátiť. |
| 206 | Partial Content | Čiastočný obsah — odpoveď na Range požiadavku. Obnoviteľné sťahovanie. |
3xx — presmerovanie
6Zdroj je niekde inde, alebo je vaša kópia v cache stále platná.
| Kód | Názov v RFC | Čo znamená |
|---|---|---|
| 301 | Moved Permanently | Trvalo presunuté. Aktualizujte odkazy; cache si to môžu nechať navždy. |
| 302 | Found | Nájdené — dočasné presmerovanie.Rozšírene implementované ako prepnutie metódy na GET, čo naprávajú 307 a 308. |
| 303 | See Other | Pozri iné: výsledok načítajte GET-om. Presmerovanie po odoslaní formulára. |
| 304 | Not Modified | Nezmenené — vaša kópia v cache je aktuálna. Posiela sa bez tela. |
| 307 | Temporary Redirect | Dočasné presmerovanie, metóda a telo zostávajú. |
| 308 | Permanent Redirect | Trvalé presmerovanie, metóda a telo zostávajú. |
4xx — chyba klienta
14Problém je v požiadavke. Zopakovať ju nezmenenú znovu zlyhá.
| Kód | Názov v RFC | Čo znamená |
|---|---|---|
| 400 | Bad Request | Server nedokázal požiadavku vôbec rozparsovať. |
| 401 | Unauthorized | Neautentifikované — server nevie, kto ste.Volá sa Unauthorized, ale znamená neautentifikované. Má obsahovať WWW-Authenticate. |
| 403 | Forbidden | Autentifikované a aj tak nepovolené. Lepšie prihlasovacie údaje nepomôžu. |
| 404 | Not Found | Taký zdroj neexistuje a server neprezradí, či niekedy existoval. |
| 405 | Method Not Allowed | Nesprávna metóda pre túto URL.Musí v hlavičke Allow vypísať tie, ktoré fungujú. |
| 406 | Not Acceptable | Nič nie je dostupné vo formáte, ktorý vaša hlavička Accept prijme. |
| 409 | Conflict | V rozpore s aktuálnym stavom — úprava proti neaktuálnej verzii. |
| 410 | Gone | Zmizlo: existovalo a bolo zámerne odstránené. Silnejšie než 404. |
| 413 | Content Too Large | Telo je väčšie, než server prijíma. |
| 415 | Unsupported Media Type | Server tento Content-Type nespracúva. |
| 418 | I'm a teapot | Som čajník. Aprílový vtip z roku 1998, natrvalo rezervovaný. |
| 422 | Unprocessable Content | Rozparsované správne, obsah neplatný — chýbajúce pole, zlá hodnota. |
| 429 | Too Many Requests | Obmedzená frekvencia požiadaviek.Pred opakovaním hľadajte Retry-After a odstupujte exponenciálne. |
| 451 | Unavailable For Legal Reasons | Zablokované z právnych dôvodov. Číslo je narážka na Fahrenheit 451. |
5xx — chyba servera
6Požiadavka môže byť v poriadku. Tieto sa vyplatí zopakovať.
| Kód | Názov v RFC | Čo znamená |
|---|---|---|
| 500 | Internal Server Error | Neodchytená chyba na serveri. Na vašej strane niet čo opraviť. |
| 501 | Not Implemented | Server túto metódu vôbec neimplementuje. |
| 502 | Bad Gateway | Proxy sa dostala k upstream serveru a dostala z neho niečo nepoužiteľné. |
| 503 | Service Unavailable | Zámerne neobsluhuje — zahltený alebo v údržbe.Stav, ktorý by mal nesť Retry-After. |
| 504 | Gateway Timeout | Proxy sa prestala dovolávať upstream servera. |
| 505 | HTTP Version Not Supported | Verzia HTTP v požiadavke nie je podporovaná. |