HTTP server odpovedá na požiadavok klienta odpoveďou, ktorá sa skladá z troch častí a nachádza sa v prvom riadku odpovede servera:

Prvá časť - verzia HTTP protokolu (napr.: HTTP/1.1), druhá časť - stav požiadavku_(napr.: 404)_ a tretia časť - stručný text popisujúci tento stavový kód (v prípade kódu 404 je krátky popis: Not Found). Kedže je pre mňa problém si zapamätať takéto veci napísal som si prehľad niektorých z nich.

Tieto stavové kódy môžeme rozdeliť do nasledujúcich skupín:

  • 100 - 199 - informačné
  • 200 - 299 - úspešné
  • 300 - 399 - presmerované
  • 400 - 499 - neuspešné
  • 500 - 599 - chyba servera

Informačné

Informačné kódy sa môžu z klientovej strany nazvať aj čakacie, lebo znamenajú, že požiadavok bol prijatý a spracúva sa.

  • 100 Continue Začiatočná časť požiadavku bola prijatá, a klient môže posielať ďalšie požiadavky
  • 101 Switching Protocols Server dovoľuje zmenu protokolu na požiadavok klienta na verziu uvedenú v hlavičke

Úspešné

Tieto stavové kódy znamenajú že klientský požiadavok bol úspešne splnený.

  • 200 Ok Požiadavok klienta bol splnený a server odpovedá požadovanými dátami
  • 201 Created Pri uvedení tohoto kódu server posiela informáciu kde boli nové dáta umiestnené
  • 202 Accepted požiadavok nebol ihneď vybavený, aj keď bol prijatý. Nieje taktiež žiadna záruka že požiadavk bude úspešne splnený až do konca
  • 203 Non - Authoritative Information informácie uvedené v odpovedi servera su z nejakej kópie dokumentu, nepatriacej originálnemu serveru
  • 204 No Content Po prijatí takejto odpovede nemá prehliadač meniť zobrazovaný dokument
  • 205 Reset Content Prehliadač vymaže zobrazovaný dokument
  • 206 Partial Content Server vráti časť dát o požadovanej veľkosti

Presmerované

Tieto stavové kódy znamenajú že klientský požiadavok nebol splnený a klient musí previesť ďalšiu operáciu pre jeho splnenie

  • 300 Multiple Choices Požadované URI sa vzťahuje k viacej ako jednému dokumentu
  • 301 Moved Permanently Server neobsahuje uvedené URI a má sa použiť nové, uvedené v hlavičke dokumentu
  • 302 Found Požadované URI používa dočasne nové URI
  • 303 See Other Požadované URI sa dá nájsť na inom URI uvedenom v hlavičke pomocou požiadavku GET
  • 304 Not Modified Požadované URI sa od daného dátumu nezmenilo a klient ma použiť svoju lokálnu kópiu
  • 305 Use Proxy Požadované URI sa dá vyžiadať len cez proxy server uvedený v hlavičke

Neúspešné

Tieto stavové kódy znamenajú že klientský požiadavok nebol splnený a môžu zanmenať, že server potrebuje ďalšie informácie pre jeho splnenie

  • 400 Bad Request V požiadavku bola nájdená syntaktická chyba
  • 401 Unauthorized Požiadavok neobsahoval žiadanu autorizáciu
  • 403 Forbidden Požiadavok nebol splnený z dôvodu, ktorý nám server odmieta povedať
  • 404 Not Found Požadované URI neexituje
  • 405 Method Not Allowed Klientom požadovaná metóda nieje pre dané URI podporovaná
  • 406 Not Acceptable Požadované URI exzistuje ale je vo formáte ktorý nieje podporovaný
  • 407 Proxy Authentication Required Proxi server musí pred odoslaním požiadavku autorizovať
  • 408 Request Time - out Klient v požadovanom čase neposlal celý požiadavok na server
  • 409 Conflict Prišlo ku konfliktu s iným požiadavkom. V odpovedi servera by malo byť uvedené o aký konflikt sa jedná
  • 410 Gone Požadované URI neexituje a bolo presunuté na iné miesto
  • 413 Request Entity Too Large Požiadavok nebol serverom spracovaný lebo jeho telo je príliš dlhé
  • 414 Request - URI Too Long Požiadavok nebol serverom spracovaný lebo URI je príliš dlhé
  • 415 Unsupported Media Type Požiadavok nebol serverom spracovaný lebo telo požiadavku je v nepodporovanom formáte

Chyba servera

Tieto stavové kódy znamenajú že server zaznamenal chybu

  • 500 Internal Server Error Konfigurácia serveru alebo skriptu havarovala
  • 501 Not Implemented Klient požaduje operáciu ktorú server nedokáže vykonať
  • 502 Bad Gateway Server prijal chybnú odpoveď od iného servera
  • 503 Service Unavailable Služba nieje dočasne k dispozícii
  • 505 HTTP Version not supported Server nepodporuje verziu HTTP protokolu uvedenú v požiadavke