26-04-04 14:57
HTTP: kodovi grešaka
piše ŽELJA BOROŠ
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.
|