HTTP: kodovi grešaka

Za poruku '404 Not Found' su čuli i oni koji su surfali tek na nekoliko stranica. No, postoje još mnogi drugi kodovi grešaka. U ovom članku predstaviti ćemo kodove HTTP/1.1 standarda.

HTTP statusni kodovi mogu pripadati jednoj od ovih pet skupina, određenih prvom od tri znameke numeričke šifre:

1xx: Informacija Zahtjev zaprimljen, procesiranje se nastavlja

2xx: Uspjeh Zahtjev zaprimljen, obrađen i akcija uspješno završena

3xx: Redirekcija Da bi se zahtjev obradio, potrebna je dodatna akcija

4xx: Greška klijenta Zahtjev nije sintaktički korektan ili se ne može ispuniti

5xx: Greška servera Zahtjev je dobar, ali server ga ne može ispuniti

Kodovi:

1xx Većinom eksperimentalni kodovi koje nećete skoro nikad vidjeti u browseru.
================================================

100 - Continue
Prvi dio zahtjeva je zaprimljen, klijent bi trebao nastaviti slati zahtjev ili ignorirati ostatak ako je zahtjev već ispunjen.

101 - Switching Protocols
Klijentu se daje do znanja da će se protokol promijeniti, i to na onaj koji je naveden u Upgrade retku HTTP zaglavlja trenutne konekcije.

2xx Ove kodove nikad nećete vidjeti u browseru, ali browser po njima zna da je njegov zahtjev uspješno obrađen.
================================================

200 - OK
Zahtjev klijenta je uspješno zaprimljen.

201 - Created
Zahtjev klijenta je uspješno zaprimljen i kreiran je novi resurs.

202 - Accepted
Zahtjev je uredno zaprimljen, ali još nije proveden.

203 - Non-Authoritative Information
Preliminarni rezultati obrade zahtjeva obično dolaze sa istog servera, ali u slučaju da ne dolaze može se rabiti ovaj kod da bi to označio. Kod može označiti da informacija nije došla s poznatog izvora.

204 - No (New) Content
Zahtjev je obrađen, ali klijent ne mora osvježiti prikaz na ekranu jer novih informacija nema.

205 - Reset Content
Zahtjev je obrađen, a klijent mora osvježiti prikaz na ekranu, obrisati formu ili na drugi način resetirati prikaz.

206 - Partial Content
Zahtjev je uspješno zaprimljen i obrađen, ali samo djelomično.

3xx Ovi kodovi zahtijevaju dodatnu akciju sa strane korisničkog browsera, a ponekad i korisnika.
================================================

300 - Multiple Choices
Zatraženi resurs ima više mogućnosti, svaka se nalazi na više lokacija. Ovaj kod se nikad ne bi trebao pojaviti sam.

301 - Moved Permanently
Resurs je trajno prebačen na drugi URI. Svi budući zahtjevi bi trebali rabiti novi URI.

302 - Found
Zatraženi resurs se nalazi na drugom URI-ju ali klijent treba nastaviti rabiti originalni URI. Ponekad se redirekcija događa automatski.

303 - See Other
Resurs se nalazi na drugom URI-ju i treba mu se pristupiti putem GET naredbe na navedenom URI-ju.

304 - Not Modified
Resurs nije mijenjan od zadnjeg zahtjeva (ne trebaju se prenositi podaci, nego se prikazuje sadržaj lokalnog cachea).

305 - Use Proxy
Zatraženi resurs je dostupan samo preko proxyja navedenog u polju Location zaglavlja.

306 - No Longer Used
Pričuva za buduće potrebe.

307 - Temporary Redirect
Resurs je privremeno prebačen na drugi URI. Klijent treba nastaviti rabiti originalni URI jer se URI opet može promijeniti.

4xx Od svih kodova, ove ćete najčešće vidjeti u browseru.
================================================

400 - Bad Request
Server ne razumije sintaksu zahtjeva (obično samo treba ponoviti zahtjev).

401 - Not Authorised
Da bi zahtjev bio obrađen, klijent se treba autentificirati (putem upisivanja korisničkog imena, zaporke i drugih podataka u prozor koji bi se trebao pojaviti).

402 - Payment Required
Pričuva za buduće potrebe.

403 - Forbidden
Server je odbio provesti zahtjev, iako je sa zahtjevom sintaktički sve u redu.

404 - Not Found
Dokument iz zahtjeva ne postoji na serveru.

405 - Method Not Allowed
Metoda navedena u zahtjevu nije dopuštena za navedeni resurs.

406 - Not Acceptable
Zatraženi resurs može generirati odgovor samo u obliku koji nije naveden u polju Accept zaglavlja.

407 - Proxy Authentication Required
Zahtjev je prethodno potrebno autenticirati preko proxy servera.

408 - Request Timeout
Zahtjev je prešao granice definiranog vremena.

409 - Conflict
Zahtjev se odbija zbog konflikta u stanju resursa (npr, više korisnika istovremeno pokušavaju mijenjati isti dokument).

410 - Gone
Zatraženi resurs nije dostupan, a adresa za proslijeđivanje ne postoji.

411 - Length Required
Server odbija zahtjev zbog nenavođenja polja Content-Length u zaglavlju.

412 - Precondition Failed
Preduvjet naveden u jednom ili više polja zahtjeva nije moguće ispuniti.

413 - Request Entity Too Large Server ne dopušta klijentu pristup resursu zbog prevelike veličine. Server ponekad zatvara konekciju prema browseru u potpunosti kako bi spriječio ponavljanje zahtjeva.

414 - Request URI Too Long
Zahtjev nije uspješan jer je URI naveden u zahtjevu predugačak (ovo se često javlja kod napada, kad se pokušava ivršiti shellcode na serveru koji je isporučen unutar samog HTTP zahtjeva).

415 - Unsupported Media Type
Zahtjev nije uspješan zbog formata zahtjeva koji traženi resurs ne podržava (za određenu metodu zahtjeva).

416 - Requested Range Not Satisfiable
Zahtjev sadržava Range polje, ali nije unutar granica resursa. Također, nije navedeno dodatno polje If-Range (koje bi moglo korigirati grešku).

417 - Expectation Failed
Očekivani odgovor naveden u Expect retku zaglavlja nije moguće generirati.

5xx Ovi kodovi se pojavljuju kad server ne može ili ne zna obraditi zahtjev, ili je došlo do greške u obradi zaprimljenog zahtjeva. Ponekad se mogu vidjeti i u browseru.
================================================

500 - Internal Server Error
Zahtjev nije proveden zbog greške na serveru (najčešće loše napisana CGI ili PHP/ASP skripta. Razloge morate potražiti u logovima web servera, jer neće biti ispisani u prozoru browsera).

501 - Not Implemented
Server ne podržava funkcionalnost koju klijent zahtjeva. Zahtjev nije obrađen.

502 - Bad Gateway
Server je primio neodgovarajući/nepoznati odgovor od nadređenog (upstream) servera dok je pokušavao obraditi zahtjev.

503 - Service Unavailable
Server nije u funkciji ili je preopterećen. Zahtjev je odbačen. Javlja se obično ako je korisnik prešao granicu broja zahtjeva ili prenesenih bajtova.

504 - Gateway Timeout
Upstream server nije poslao zahtjev u definiranom vremenu.

505 - HTTP Version Not Supported
Server ne podržava ili ne dopušta uporabu HTTP protokola u zahtjevu. U odgovoru bi trebao navesti koje protokole podržava.

Kuharice: 
Kategorije: 
Vote: 
0
No votes yet