HTTP statusni kodovi: svaki mogući popis

Objava: Vaša podrška pomaže održavanju web mjesta! Naplaćujemo naknadu za preporuku za neke usluge koje preporučamo na ovoj stranici.


Contents

Osnove HTTP statusa

Većina ljudi ne razmišlja previše pretjerano o tome što se zapravo događa kada dođu do web stranice. Oni samo otvore svoj preglednik, kliknu nešto i tu je na mom zaslonu!

Tražite određeni kod? Pogledajte sadržaj sa desne strane!

Radije ne razmišljamo o složenom plesu zahtjeva i odgovora koji se događaju između web preglednika našeg računala i poslužitelja daleko, u podatkovnom centru, koji (obično) ne vide čak ni administrator sustava i IT osoblje web stranice.

Ali tada, s vremena na vrijeme, nailazimo na pogrešku. Dobijamo pametnu stranicu s 404 not found sa smiješnom slikom. Ili dobivamo praznu stranicu s bilješkom vlastitog preglednika koja nam govori o nekoj nepoznatoj pogrešci 501.

Kao povremeni posjetitelj web stranice, to je samo neugodno. Obično pokušavamo ponovo – osvježiti, vratiti se, ponovo kliknuti. Ponekad uspije – to nazivamo propustom i odmah zaboravimo na to. Ponekad to ne uspije – nazivamo to “lošom web stranicom”, a obično isto tako brzo zaboravimo.

Ali ako zapravo imate web stranicu – to sve mijenja. HTTP pogreške nisu neugodne. Oni su ludi. Sramotno su.

Ako ste osobito pametni ili ako imate dobar IT tim, to možda i nije tako velika stvar. Većinu takvih problema je lako popraviti. Ali ako ste vlasnik male tvrtke, imate vlastitu web stranicu, HTTP status i kodovi pogrešaka mogu vas izluditi.

Kako popraviti HTTP pogreške? Kako izbjeći HTTP pogreške? Što uopće znače ovi HTTP statusni kodovi?

To je ono što pokriva ovaj vodič, zajedno s informacijama o:

  • dobri HTTP statusni kodovi (one koje obično ne vidite)
  • korisni kodovi HTTP statusa
  • koju vrstu preusmjeravanja biste trebali koristiti (i zašto).

Ali prvo, da biste shvatili HTTP kodove statusa, morate shvatiti kako HTTP djeluje na prvom mjestu.

HTTP zahtjevi i odgovori

HTTP znači “HyperText Transfer Protocol”.

Što je protokol?

Kada se ukrcate u mornarički brod, to postoji određen način. Prvo pozdravljate zastavu, zatim pozdravljate časnika, a zatim tražite dozvolu za ukrcaj.

To je protokol.

Protokol je skup pravila za određenu vrstu interakcije.

Ponekad je protokol vrlo krut i definiran:

  • Za ukrcaj na brod:
    • Pozdravna zastava
    • Dežurni časnik
    • Pitajte dopuštenje za ukrcavanje.

Ponekad su protokoli malo labaviji i nepisani, ali još uvijek dobro poznati:

  • Kada stigne rođendanska torta:
    • Pričekajte da svi završe s pjevanjem
    • Zaželi želju
    • Ugasite svijeće, po mogućnosti u jednom dahu.

Računalne interakcije odnose se na protokole. Kad dva računala (ili mreža računala) međusobno razgovaraju, moraju imati skup dobro definiranih pravila za komunikaciju.

Pravila na koji način internetski preglednik vašeg lokalnog računala komunicira s web poslužiteljem koji hostuje web lokaciju koju pokušavate pogledati je HTTP (HyperText Transfer Protocol).

Zašto prenosimo HyperText?

Izvorno su web stranice bile uglavnom dokumenti. “Web stranica” je zamišljena kao stvarna “stranica.” Web stranica je bila zbirka dokumenata. Glavna stranica za web mjesto bila je “indeks” dostupnih dokumenata.

Koju vrstu dokumenata? Dokumenti hiperteksta.

Hipertekst samo znači da se dokumenti međusobno povezuju “hipervezama”. Danas ih jednostavno nazivamo „starim“ vezama – one su toliko uobičajene da ih više ne nazivamo „hiper“.

Klikne „hiper“ veze u tekstu – ta ideja, koja je sada tako uobičajena, bila je toliko revolucionarna kada se prvi put stvorila inernet da je sve dobilo ime po njoj.

Jezik za pisanje tih dokumenata? Jezik za označavanje hiperteksta (HTML). A protokol za traženje i primanje tih dokumenata? HTTP.

Dakle, HTTP je …

HTTP je skup pravila i postupaka za to kako web preglednik (ili drugi “klijent”) traži resurse s drugog računala (“poslužitelj”) i kako to drugo računalo reagira na te zahtjeve.

HTTP zahtjev

Dakle, kada upišete adresu, kliknete na vezu ili na neki drugi način otvorite web stranicu, vaš preglednik šalje zahtjev nekom drugom poslužitelju.

Cilj zahtjeva definiran je URL-om i DNS sustavom. DNS sustav je tema drugog dana, ali u osnovi – DNS je adresar koji odgovara nazivima domena određenim računalnim IP adresama.

Cilj zahtjeva definiran je imenom domene, a cijeli je URL najvažniji dio zahtjeva – sve nakon što naziv domene kaže poslužitelju određeni resurs koji se traži. Zahtjev sadrži i ostale informacije poput:

  • Vrsta zahtjeva. Dvije najčešće su:
    • GET – “Pošaljite mi ovaj resurs.”
    • POST – “Evo podataka za obradu.”
  • Polja zaglavlja – neobavezna meta-podatkovna polja koja se koriste da bi poslužitelju saopćila o klijentu (na primjer, koja vrsta preglednika).
  • Tijelo – Podaci koje šalje klijent (za upotrebu s POST-om).

Poslužitelj dobiva ovaj zahtjev i (nakon izvjesne obrade) šalje odgovor.

HTTP odgovor

Prva linija odgovora je HTTP status.

Redak stanja ima dva dijela, brojčani kod (poput 200) i objašnjenje teksta (poput uspjeha).

Kad sve funkcionira u redu, dobivate status 200: Uspjeh (koji vi kao ljudski korisnik nikad ne vidite), zatim neke podatke zaglavlja (koje također ne vidite), a zatim resurs koji ste zatražili (što je ono što vi vidite ).

Resurs može biti čitava web stranica, slika, videozapis, zvučna datoteka. To može biti i nešto što ne vidite, poput JavaScript datoteke ili tablice stilova.

Kad stvari ne funkcioniraju tako dobro, vidjet ćete poruku o stanju. Obično se to događa kada dobijete nešto poput koda 404 ili 501. To su kodovi pogrešaka. Nešto je pošlo po zlu.

Odgovori s brojevima 404 ili 501 pogreške se ne vraćaju s resursom koji ste tražili. Ponekad se vrate s drugim resursom (poput pametne stranice 404). Ponekad uopće nema resursa (to je kada dobijete praznu stranicu preglednika i zadanu poruku o pogrešci).

Postoje i kodovi statusa koji poručuju pregledniku da pogleda negdje drugdje, poput preusmjeravanja 301. Ti odgovori također ne dolaze do traženog resursa.

Umjesto toga, podaci zaglavlja upućuju pregledniku da uputi novi zahtjev s nekim drugim URL-om. Obično ne primijetite kada se to dogodi, jer vaš preglednik radi ono što vam je rečeno i upućuje drugi zahtjev.

Zatim vam pokazuje izvor iz drugog odgovora, a da vam ne kaže da se bilo što dogodilo. Kodovi za preusmjeravanje odgovora obično nisu važni za krajnje korisnike, ali trebaju puno značiti administratorima web mjesta.

Klase statusnog koda

Vjerojatno ste primijetili da su svi kodovi statusa troznamenkasti brojevi. Jeste li primijetili da je prva znamenka uvijek između 1 i 5?

Statusni kodovi grupirani su u pet “klasa” kodova. Pogreška 404: nije pronađeno dio je 400 (ili ponekad 4xx) klase statusnih kodova. Svaka klasa obuhvaća određeni niz pitanja ili stanja.

  • 1xx – informativni – Ovo su privremeni odgovori koji se namjeravaju koristiti dok poslužitelj i dalje obrađuje zahtjev. Rijetko se koriste.
  • 2xx – Uspjeh – Kodovi koji se koriste kad stvari funkcioniraju onako kako su trebali. Vraćaju se različiti kodovi uspjeha na temelju onoga što se konkretno zahtjev pokušao učiniti.
  • 3xx – Preusmjeravanje – Kodovi se koriste za navođenje klijenta da traži traženi resurs negdje drugdje.
  • 4xx – pogreška klijenta – ovi kodovi govore klijentu da je učinio nešto pogrešno.
  • 5xx – Greška poslužitelja – Šifra kada nešto na poslužitelju ne radi kako se očekuje.

Specifične kodove iz svake klase detaljnije ćemo prikazati u vlastitim odjeljcima.

Suočavanje s kodovima HTTP statusa (i pogreške)

Ovaj vodič obuhvaća sve moguće HTTP statuse i HTTP kodove grešaka – od uobičajenih do nikad korištenih. Objasnit ćemo što svaki kôd znači, zašto se generira, kada bi kôd mogao biti problem i kako riješiti probleme.

HTTP statusni kôd 1xx – informativni

Znanje je moć. Informacije oslobađaju.

– Kofi Annan

HTTP statusni kodovi u 1xx klasi trebaju biti privremeni, a poslužitelj ih šalje prije nego što je poslan potpuni i završeni drugi odgovor..

Uvedeni su u HTTP / 1.1, tako da rani preglednici koji implementiraju HTTP / 1.0 ne mogu s njima postupati, a poslužitelji ne bi trebali završavati 1xx kodove u tim slučajevima.

HTTP 100 Nastavi

Tipično je redoslijed zahtjeva-odgovora izravan. Jedan je jedini zahtjev upućen, primljen i na njega je odgovoreno.

Ali ponekad je potrebno podijeliti zahtjev na dijelove. To se može dogoditi ako je zahtjev prevelik. To se može dogoditi ako podnositelj zahtjeva treba provjeriti je li zaglavlje oblikovano pravilno ili je li poslužitelj stvarno spreman za zahtjev.

U tim slučajevima klijent (preglednik) može poslati početni zahtjev sa zaglavljem koje uključuje Očekujem: 100-nastavak.

Kad se to dogodi, poslužitelj će primiti početni zahtjev i – ako je sve u redu – odgovoriti sa statusom 100: Nastavi. To signalizira klijentu da ispuni zahtjev.

Ako se ništa ne pokrene, poslužitelj će vam poslati 417 očekivanje nije uspjelo.

HTTP 101 komutacijski protokoli

Klijent može zatražiti od poslužitelja da zamijeni protokole, na primjer s HTTP / 1.1 na HTTP / 2.0.

Ako je poslužitelj voljan udovoljiti tom zahtjevu, vratit će odgovor 101: Zamjena protokola, zajedno s podacima zaglavlja koji uključuju naziv novog protokola koji se koristi.

HTTP 102 obrada

Ovaj se kôd koristi samo s WebDAV-om, koji je proširenje HTTP-a koji omogućuje manipulaciju datotekama, pomalo sličan FTP-u (iako se razlikuje u stvarnoj implementaciji).

WebDAV zahtjev može uključivati ​​puno pod-zahtjeva. 102: Status obrade daje klijentu saznanje da je poslužitelj primio zahtjev i da radi na njemu, ali još uvijek ima posla. To sprečava klijenta da pretpostavi da je zahtjev izgubljen i isteklo je vrijeme.

HTTP statusni kôd 2xx – uspjeh

Sve što vam treba u ovom životu je neznanje i samopouzdanje, a onda je uspjeh siguran.

-Mark Twain

HTTP statusni kodovi u 2xx klasi trebaju se upotrebljavati kada je zahtjev završen kako je predviđeno.

Mnogi od ovih kodova nikada se ili rijetko zapravo koriste ili čak ne primjenjuju.

HTTP 200 OK

Ovo je standardni odgovor na uspješne zahtjeve – to je statusni kôd koji obično želite i očekujete.

Kad je zahtjev GET (traženje resursa), odgovor će uključivati ​​resurs. Kada je zahtjev POST (ili druga vrsta), odgovor će sadržavati resurs koji opisuje ili sadrži rezultat akcije.

HTTP 201 Napravljeno

Neki zahtjevi trebaju stvoriti novi resurs. Kada se ovi uspješno završe, šalje se 201 status koji pokazuje da je novi resurs stvoren. Obično se koristi zajedno s vrstom PUT zahtjeva.

HTTP 202 Prihvaćeno

Zahtjev je prihvaćen, ali nije postupljeno po njemu. Na zahtjev se ne može postupati.

HTTP 203 neovlaštene informacije

Odgovor sadrži traženi resurs, ali resurs je možda pribavljen iz drugog izvora i stoga može biti nepouzdan – poslužitelj ne potvrđuje valjanost ili vjerodostojnost resursa.

HTTP 204 nema sadržaja

To se šalje kada je poslužitelj uspješno obradio zahtjev, ali ne mora vraćati nikakav sadržaj. Najčešće se to događa kao rezultat DELETE zahtjeva.

Kad se pošalje zahtjev 204, korisnički agent (klijent ili web-preglednik) posebno ne bi trebao mijenjati svoj pogled.

Na primjer, ako je zahtjev poslan putem obrasca na stranici, odgovor ne bi trebao uzrokovati osvježavanje obrasca ili preglednik da posjeti drugu stranicu – u zahtjevu nema novog sadržaja za zamjenu postojećeg sadržaja u korisniku pogled.

HTTP 205 Poništi sadržaj

Odgovor 205 sličan je broju 204, ali korisnički bi agent trebao osvježiti njihov prikaz unatrag zadano stanje trenutnog dokumenta.

HTTP 206 Djelomični sadržaj

To se koristi kada poslužitelj šalje samo dio traženog resursa, jer je korisnik tražio da primi samo dio resursa.

To se događa kada je resurs dovoljno velik ili je veza dovoljno nepouzdana, da korisnički agent želi resurs podijeliti u niz “komadnih” zahtjeva, kao što je prikazano:

  • Klijent: Dajte mi prvu 1/4.
    • Poslužitelj: 206 Djelomični sadržaj
  • Klijent: Dajte mi sekundu

    1/4.

    • Poslužitelj: 206 Djelomični sadržaj.
  • I tako dalje…
    • …i tako dalje.

Ove djelomične zahtjeve podnosi klijent pomoću zaglavlja raspona. Mogu se pojaviti jedna za drugom (radi zaštite od neuspjeha preuzimanja) ili odjednom u više niti (kako bi se ubrzalo preuzimanje).

HTTP 207 multi-status

Kao i 103, ovo se koristi samo s WebDAV-om.

WebDAV zahtjev može imati više pod zahtjeva, a svaki ima svoj status i odgovor. Status 207 ukazuje da će tijelo odgovora sadržavati XML dokument u kojem su detaljno opisani statusi i odgovori svakog podzahtjeva..

HTTP 208 već je prijavljen

Još jedan kodni status samo za WebDAV. To znači da su članovi DAV obvezujuće već nabrojeni u prethodnom odgovoru na trenutni zahtjev i više nisu uključeni..

Koristi se HTTP 226 IM

Poslužitelj je ispunio zahtjev za resursom, a odgovor je prikaz rezultata jedne ili više manipulacija instancama primijenjenih na trenutnu instancu.

HTTP statusni kôd 3xx – preusmjeravanje

Kad god se nečega odreknete, morate ga zamijeniti nečim.

-Lou Holtz

Statusi u klasi 3xx šalju se u slučaju kada je potrebno izvršiti dodatne radnje od strane klijenta kako bi se zahtjev ispunio. Najčešće se koristi pri preusmjeravanju jednog URL-a na drugi, iako ne uvijek.

U slučaju GET zahtjeva, preglednik će općenito izvršiti drugi zahtjev bez bilo kakvog unosa ili dodatne interakcije od strane korisnika. U ostalim je slučajevima potrebna dodatna intervencija korisnika.

Da bi izbjegli beskonačno petlje za preusmjeravanje, preglednici obično ne slijede više od pet uzastopnih preusmjeravanja istog zahtjeva.

HTTP 300 višestruki izbor

Status 300 pregledači vraćaju kada zahtjev rezultira s više opcija za resurs. U teoriji, ovo bi moglo biti korisno za predstavljanje različitih opcija formata datoteka, različite medijske prezentacije istog sadržaja ili čak nerazumijevanje riječi riječi.

Status 300 višestrukog izbora ima puno potencijala, ali se ne koristi često.

HTTP 301 premješten trajno

Ovaj status ukazuje da je resurs trajno promijenio URL.

Tražilice ažuriraju svoj indeks na temelju toga, obično dodjeljujući bilo koji poredak od izvornog do novog URL-a.

Preglednici i druge vrste klijenata često predmemoriraju novi URL i automatski slijede URL za preusmjeravanje, a da izravno ne provjere izvornik za sljedeće zahtjeve, čak i ako se izvorni URL unese ručno. Spremljene oznake također se obično ažuriraju.

Općenito, ako postavljate preusmjeravanja zbog promjene naziva domene strukture URL-a, trebali biste koristiti 301: Premješteno trajno preusmjeravanje.

One se mogu postaviti u .htaccess ili httpd.conf datoteci na vašem poslužitelju ili često u vašem sustavu za upravljanje sadržajem. (Na primjer, postoji nekoliko WordPress dodataka za upravljanje 301 preusmjeravanjem.)

Kada je web stranica redizajnirana i promijeni se struktura URL-a, vrlo je važno postaviti preusmjeravanje 301 za svaki URL s izvorne web lokacije. Ako to ne učinite, izazvat će neispravne veze i razočarane posjetitelje.

Pronađeno 30 HTTP-a

Statusni kôd 302 obično se koristi za privremena preusmjeravanja. Industrijska praksa s 301 preusmjeravanjem razlikovala se od izvorne specifikacije, a specifikacija je evoluirala u skladu s industrijskom praksom.

Izvorno je u specifikaciji navedeno da status 302 treba da uzrokuje da preglednik uputi drugi, identičan zahtjev novom URL-u. Međutim, mnogi web preglednici prve generacije implementirali su ga na način da su POST zahtjevi prepisivani kao GET zahtjevi.

Kako bi pokušao razjasniti situaciju, ažurirana specifikacija HTTP / 1.1 dodala je dva dodatna koda statusa, 303 i 307.

302 Pronađeno je trebalo da oponaša provedeno ponašanje „prebacivanje na GET“, dok je 307 privremena preusmjeravanja trebala zamijeniti prvobitno očekivano ponašanje 302.

Međutim, većina poslužitelja i web okvira jednostavno je nastavila koristiti 302 za kompatibilnost unazad s preglednicima koji ne primjenjuju novije standarde.

Kasnije HTTP specifikacije pripale su se uobičajenoj praksi, omogućujući preglednicima da prepisuju POST zahtjeve u GET zahtjeve.

Posljedica svega toga je da ako koristite preusmjeravanje 302 na URL-u koji je trebao prihvatiti POST podatke, ti podaci vjerojatno neće biti uključeni u drugi zahtjev.

Iz tog razloga, 302 treba koristiti samo na URL-ovima koji prihvaćaju POST podatke (web obrasce) ako poslužitelj doista može prihvatiti poslane podatke na izvornom URL-u i upotrijebiti preusmjeravanje za isporuku stranice nakon što su podaci prihvaćeni..

Sve to u praksi čini 303 suvišnim.

Općenito, ne treba koristiti preusmjeravanje 302

HTTP 303 Pogledajte ostalo

U praksi je to identično statusu 302. To znači da se odgovor ili resurs mogu pronaći na drugom URL-u pomoću GET metode. Kad ga primi kao odgovor na POST zahtjev, preglednik bi trebao pretpostaviti da su podaci primljeni.

HTTP 304 nije izmijenjeno

Web-preglednici mogu poslati zahtjev s zaglavljem koje postavlja pitanje je li izvor modificiran od određenih podataka i vremena. To se događa ako je preglednik već preuzeo resurs i spremio ga.

Ako je od tada modificiran, poslužitelj će odgovoriti resursom i statusom 200 Uspjeh.

Ako, međutim, resurs nije izmijenjen, poslužitelj će poslati status 304 Not Modified i također ga nije poslao. Tada bi preglednik trebao poslužiti spremljenu verziju resursa, jer se nije promijenila.

HTTP 305 Koristite proxy

Zatraženi resurs dostupan je samo putem proxyja. Adresa proxyja navedena je u odgovoru. Očekuje se da će web preglednik ponovo pokušati zahtjev putem proxyja. Ne ispunjavaju ga svi klijenti prema standardu, iz sigurnosnih razloga.

HTTP 306 Switch proxy

Status 306 prvotno je značio “Naknadni zahtjevi trebaju koristiti navedeni proxy.” Više nije u upotrebi.

HTTP 307 privremena preusmjeravanje

Ovaj je status stvoren da replicira izvornu namjeru statusa 302 (vidi gore).

Status 307: Privremena preusmjeravanje znači da zahtjev treba ovaj put ponoviti s drugim URL-om, ali da bi u budućnosti zahtjevi ipak trebali koristiti izvorni URL.

Za razliku od načina na koji su klijenti povijesno implementirali 302, metoda zahtjeva ne bi se trebala mijenjati prilikom slanja drugog zahtjeva. Na primjer, POST zahtjev treba ponoviti pomoću drugog POST zahtjeva, sa uključenim svim izvornim POST podacima.

HTTP 308 stalna preusmjeravanje

Trenutačni zahtjev treba ponoviti pomoću drugog URL-a, a svi budući zahtjevi trebaju se poslati i na taj URL.

Kao i 307 i 302, ovaj status duplicira funkcionalnost koja je navedena u izvornoj specifikaciji 301. No, s 308, drugi zahtjev (kao i 307) trebao bi biti identičan izvornom zahtjevu – koristeći istu metodu i sadrži iste podatke.

HTTP 308 Nastavi nepotpun

Ovaj je statusni kôd kreirao i koristi Google. Dio je prijedloga Resumeble HTTP zahtjeva, a koristi se za nastavak prekidanih PUT ili POST zahtjeva.

HTTP statusni kôd 4xx – pogreška klijenta

Svatko može pogriješiti, ali samo idiot ustrajava na grešci.

—Marcus Tullius Cicero

Od pet klasa HTTP statusnih kodova, samo su dvije vrste “Kodovi pogreške”, klase 4xx i 5xx..

4xx serija HTTP pogrešaka koristi se kada se čini da greška dolazi od klijenta – odnosno, nešto nije u redu s zahtjevom.

Uz status pogreške i ostale informacije zaglavlja, poslužitelji često pružaju cjelovit odgovor (nazvan “entitet”, a ne “resurs”, ali inače isti) koji bi trebao biti prikazan korisniku.

Ovaj je cilj pružiti korisniku način da popravi bez obzira na grešku klijenta. Najčešći oblik ovih cjelina je stranica 404, o kojoj se govori u nastavku.

HTTP 400 loš zahtjev

Ovo je općeniti odgovor na zahtjev s nekim problemom. Problem bi mogao biti neispravna sintaksa, nevažeće oblikovanje ili zavaravajuće usmjeravanje zahtjeva. Poslužitelji će često pružati dodatne informacije o tome što je konkretno pošlo po zlu sa zahtjevom.

HTTP 401 Neovlašteno

To se koristi kada je resurs ograničen na neke provjerene korisnike. Status znači da nije bilo provjere autentičnosti ili da provjera autentičnosti nije uspjela. Prema standardu, odgovor s ovim kodom trebao bi uključivati ​​način autentičnosti.

HTTP 402 Potrebno plaćanje

Ne koristi se uobičajeno, jer specifikacija ne daje dovoljno podataka za trenutnu implementaciju (imenovana je i rezervirana za buduću upotrebu, ali potpuna specifikacija nije usvojena).

Namjera je ovaj kôd koristiti kao dio neke vrste digitalnog gotovine ili sustava mikro plaćanja.

YouTube koristi ovaj status ako primi previše zahtjeva s jedne IP adrese. Za odgovor je potrebna CAPTCHA da provjeri je li čovjek čovjek.

HTTP 403 zabranjeno

Slično 401, to znači da je zahtjev bio valjan, ali poslužitelj na njega neće odgovoriti jer korisnik nema dozvolu za pregled resursa. Za razliku od 401: Neovlaštena pogreška, provjera autentičnosti neće značiti.

HTTP 404 nije pronađen

To je najčešće viđena greška klase 4xx, a možda je i najčešći HTTP status prosječnog korisnika.

404 vraća se ako zahtjev vrijedi, ali traženi resurs jednostavno ne može biti pronađen na poslužitelju.

Većina web okvira omogućuje administratoru web stranice da stvori “stranicu 404”. Ovo je stranica koju korisnik vidi kada dođe do pogreške 404.

Obično se to obavještava o problemu, ispričava se zbog neugodnosti i pružaju alternativni načini pronalaska sadržaja koji korisnik traži, kao što je pretraživanje.

Neke će web stranice pregledati sve ključne riječi u URL-u zahtjeva i pokušati odrediti koju stranicu ili resurs koji korisnik možda traži te pružiti jednu ili više opcija za zamjenske stranice.

Iako su 4xx pogreške tehnički “klijentske pogreške”, pogreška 404 često je rezultat mrtvih veza – URL-ova koji su ranije imali sadržaj, ali koji su se sada promijenili.

Iz tog razloga, isporuka stranice 404 može biti malo neugodno za web stranice, jer često znači neuspjeh u pravilnom preusmjeravanju URL-a. Podrazumijevanje nije “zabrljali ste svoj zahtjev”, već “izgubili smo ono što tražite”.

Zbog toga je web lokacijama 404 stranice vrlo često pretvoreno u humor.

HTTP 405 metoda nije dopuštena

Koristi se kada je zahtjev dobro formiran i resurs koji traži za njega postoji, ali metoda zahtjeva (poput GET ili POST) nije prikladna za resurs..

Na primjer, URL-u koji je primio podatke obrasca treba pristupiti sa zahtjevom POST. GET zahtjev može rezultirati odgovorom 405: Metoda nije dopuštena. Korištenje PUT-a na resursu samo za čitanje također može izazvati takav odgovor.

HTTP 406 nije prihvatljivo

Zahtjevi mogu, a često to čine, odrediti vrstu sadržaja koji traže, koristeći MIME tipove.

Ako je zatraženi resurs vrste koja se ne podudara s tipovima navedenima u zaglavlju Accept zahtjeva, poslužitelj će vratiti pogrešku 406: Not prihvatljivo.

Potrebna je provjera autentičnosti HTTP 407

Prije nego što dobije pristup traženom resursu, klijent se prvo mora ovjeriti s proxyjem navedenim u odgovoru.

Istek vremena zahtjeva HTTP 408

Ova se pogreška događa kad poslužitelj istekne dok čeka zahtjev.

Iz specifikacije:

Klijent nije poslao zahtjev u roku koji je poslužitelj bio spreman čekati. Klijent MOŽE ponoviti zahtjev bez izmjena u bilo kojem kasnijem vremenu.

Sukob HTTP 409

Označava da zahtjev nije moguće obraditi, jer je u sukobu sa samim sobom. To se može dogoditi, na primjer, u slučaju višestrukih ažuriranja koja uzrokuju međusobne sukobe uređivanja.

HTTP 410 Gone

Ova je pogreška slična pogrešci 404, ali ima svrhu naznačiti da je traženi resurs uklonjen namjerno i više neće biti dostupan ni na jednom URL-u.

Klijenti bi trebali reagirati na ovaj odgovor pročišćavanjem resursa – oznake trebaju biti izbrisane, a tražilice bi trebale ukloniti resurs iz svojih indeksa..

Većina slučajeva upotrebe ne zahtijeva to, a 404 je obično prikladnija pogreška.

Potrebna duljina HTTP 411

Zatraženi resurs zahtijeva da zahtjevi određuju njihovu duljinu, a zahtjev to nije učinio.

Preduslov HTTP 412 nije uspio

Podnositelj zahtjeva postavio je preduvjete ili zahtjeve u zaglavlje zahtjeva, a poslužitelj ne može ispuniti jedan ili više tih zahtjeva..

HTTP 413 Zahtjevni entitet prevelik

Zahtjev je veći nego što ga poslužitelj može obraditi.

HTTP 414 Zahtjev-URI Predugo

Navedeni URI (URL) bio je predug da bi se poslužitelj mogao obraditi.

To je često uzrok kad se unutar URL-a prenosi neprimjerena količina podataka kao niz upita u GET zahtjevu. Uobičajeni lijek je pretvaranje zahtjeva u POST i postavljanje podataka u tijelo zahtjeva.

HTTP 415 Nepodržani tip medija

To se općenito koristi za prijenos datoteka, kada entitet zahtjeva (datoteka koja se učitava) nije vrsta koju poslužitelj ne podržava.

Traženi raspon HTTP 416 nije zadovoljavajući

To se vraća kada zahtjev traži dio datoteke pomoću zaglavlja raspona, ali zatraženi dio ne postoji. Na primjer, ako zahtjev traži dio datoteke koji je izvan kraja datoteke.

HTTP 417 očekivanje nije uspjelo

Ovaj status vraća server ako ne može ispuniti očekivanje koje je u zahtjevu postavio zaglavlje očekivanja.

Zaglavlje očekivanja najčešće se koristi od poslužitelja za traženje statusa 100 Continue.

HTTP 418 Ja sam čajnik

Ovaj kôd greške vraćaju čajnici koji su povezani s Internetom, u slučaju da im se pošalje zahtjev za kavu.

Istek vremena provjere autentičnosti HTTP 419

To zapravo nije dio HHTP standarda, ali neki ga klijenti i poslužitelji koriste. Vraća se kada zahtjev koji zahtijeva ovjerenog korisnika pošalje zahtjev koji je istekao autentičnost.

Neuspjeh metode HTTP 420 (proljetni okvir)

Nije dio HTTP standarda, ali ga je Spring definirao u svom web okviru za upotrebu kada metoda nije uspjela. Zastarelo je.

HTTP 420 Poboljšajte svoj smirenje (Twitter)

Nije dio HTTP standarda, ali predstavio ga je Twitter. To je upotrebljavala Verzija 1 njihovog API-ja kada su zahtjevi određenog klijenta bili ograničeni na rate.

Standardniji status za takvu situaciju je 429: Previše zahtjeva.

HTTP 421 zahtjev za preusmjeravanje

Ovaj je status uveden u HTTP / 2. Koristi se kada je zahtjev bio usmjeren na poslužitelj koji trenutno nije u stanju proizvesti odgovor.

HTTP 422 neobradivi entitet

Ovo se odnosi na ekstenziju WedDAV. Vraća se kada semantičke pogreške čine zahtjev neprimjenjivim.

HTTP 423 zaključano

Koristi se s WedDAV. To znači da je zatraženi resurs zaključan.

HTTP 424 Neuspjela ovisnost

Koristi se s WebDav-om. Zahtjev nije uspio jer prethodni zahtjev, o kojem ovisi trenutni zahtjev, nije uspio.

HTTP 426 nadogradnja je potrebna

Klijent bi trebao prebaciti na drugi protokol, kao što je određeno u zaglavlju nadogradnje.

HTTP 428 Preduvjet

Koristi se kada poslužitelj zahtijeva da zahtjev bude uvjetovan.

Na primjer, poslužitelj može zahtijevati da zahtjev sadrži uvjet da zahtjev treba obraditi samo ako resurs nije ažuriran od određenog datuma i vremena. Ako nije naveden nijedan uvjet, zahtjev ne uspijeva i taj se status vraća.

Prema specifikaciji, ovaj status bio je namijenjen sprječavanju problema “izgubljenog ažuriranja”, gdje klijent vraća stanje resursa, mijenja ga i vraća ga na server, kada je u međuvremenu treća strana izmijenila stanje na poslužitelju , što dovodi do sukoba. “

HTTP 429 Previše zahtjeva

Klijent (obično definiran IP adresom) poslao je previše zahtjeva unutar određenog razdoblja.

HTTP 431 Zatraži da su zaglavlja polja prevelika

To se vraća kada je jedno polje zaglavlja, ili sve zajedno, preveliko za poslužitelj koji bi mogao obraditi.

Istek vremena prijave za HTTP 440 (Microsoft)

Nije dio standarda, ali koristi ga Microsoft. Označava da je sesija istekla.

HTTP 444 bez odgovora (Nginx)

Nije dio standarda. Zapravo nije status odgovora kao što se koristi.

Ovo je uveo Nginx za svoje zapisnike poslužitelja kako bi naznačio kada poslužitelj jednostavno nije poslao odgovor i zatvorio vezu, obično u slučaju sumnje na napad zlonamjernog softvera.

HTTP 449 Pokušaj s (Microsoft)

Nije dio standarda, ali koristi ga Microsoft.

Zahtjev treba ponovo pokušati izvršiti nakon što je opisano u odgovoru.

HTTP 450 blokirao Windows roditeljski nadzor (Microsoft)

Nije dio standarda, ali koristi ga Microsoft.

Ova se pogreška daje kada je Windows roditeljski nadzor uključen i blokira pristup datoj web stranici. Pogreška potiče iz WPC aplikacije, a ne od poslužitelja.

HTTP 451 nije dostupan zbog pravnih razloga (skica)

Ovaj status još nije dio standarda, ali dostupan je u nacrtu.

Namijenjena je uporaba ako se zbog cenzure ili drugih pravnih razloga ne može pružiti resurs. Kodni broj referenca je na knjigu Farenheit 451.

Preusmjeravanje HTTP 451 (Microsoft)

Nije dio standarda, ali koristi ga Microsoft. Javlja se u Exchange ActiveSync ako postoji neki učinkovitiji poslužitelj ili poslužitelj ne može pristupiti korisničkom poštanskom sandučiću.

HTTP 494 Zahtjev prevelikog zaglavlja (Nginx)

Nije dio standarda, ali Nginx je koristio. Sada zastarelo.

To je imalo isto značenje kao 431, ali uveden je prije nego je taj status bio dio HTTP standarda.

Pogreška HTTP 495 (Nginx)

Nije dio standarda. U stvari nije status odgovora kao što se koristi, ali se pojavljuje u Nginx zapisnicima kada se dogodi pogreška SSL certifikata klijenta.

HTTP 496 Nema potvrde (Nginx)

Nije dio standarda. U stvari nije status odgovora kao što se koristi, ali pojavljuje se u Nginx zapisnicima kada klijent nije pružio potvrdu.

HTTP 497 HTTP u HTTPS (Nginx)

Nije dio standarda. U stvari nije status odgovora kao što se koristi, ali pojavljuje se u Nginx zapisnicima kada se obični HTTP zahtjevi šalju na HTTPS port.

HTTP 498 Istekao / nevažeći token (Esri)

Vratio ArcGIS za Server. Kôd 498 označava istekli ili na drugi način nevažeći token.

Zatvoreni zahtjev klijenta HTTP 499 (Nginx)

Nije dio standarda. U stvari nije status odgovora kao što se koristi, ali se pojavljuje u Nginx zapisnicima kada je klijent zatvorio vezu dok poslužitelj još uvijek obrađuje zahtjev, zbog čega poslužitelj ne može vratiti statusni kôd natrag.

HTTP 499 Token potreban (Esri)

Vratio ArcGIS za Server. Kôd 499 označava da je potreban token (ako nije dostavljen token).

HTTP statusni kôd 5xx – pogreška poslužitelja

Zaista sam zadivljen kada pomislim koliko je slab moj um i koliko sam sklon pogreškama.

– Rene Descartes

Uz 4xx seriju, 5xx klasa HTTP statusnih kodova jesu kodovi pogrešaka koji se izdaju kada nešto pođe po zlu. 5xx kodovi grešaka su kodovi pogrešaka poslužitelja, što znači da se vraćaju kada je problem na poslužitelju, a ne s klijentom.

Kad god je to moguće, poslužitelj bi trebao vratiti entitetu odgovora koji opisuje pogrešku klijentu. Korisnički agenti (web preglednici) trebali bi korisniku pokazati ove podatke.

Pogreška unutarnjeg poslužitelja HTTP 500

Ovo je najopćenitija pogreška u poslužitelju, a izdaju je web poslužitelji kad nešto neodređeno pođe po zlu.

Općenito, svaku promjenu konfiguracije web stranice ili poslužitelja treba slijediti temeljito testiranje kako bi se osiguralo da pogreška 500: Interna pogreška poslužitelja nije proizvedena.

Kad se stvori pogreška 500, pregledavanje dnevnika poslužitelja često može pomoći u određivanju odakle dolazi pogreška. Često mogu biti jednostavne kao tipografske pogreške u datoteci .htaccess.

HTTP 501 se ne primjenjuje

To se vraća kada metoda HTTP zahtjeva (poput PUT ili DELETE), API metode u nekim slučajevima još nije implementirana. Koristi se za API-je web usluga. Implikacija pogreške 501 obično je da je metoda zahtjeva planirana za buduću implementaciju.

HTTP 502 Bad Gateway

To se događa kada poslužitelj djeluje kao proxy ili gateway i primi nevaljani odgovor od upstream poslužitelja.

HTTP 503 usluga nije dostupna

Poslužitelj je trenutno nedostupan. Na primjer, jer je pretrpan ili spušten za održavanje.

Implikacija pogreške 503 jest da je prekid privremen.

Istek vremena protokola HTTP 504

Ova se pogreška vraća kada poslužitelj djeluje kao proxy ili gateway i ne primi odgovor od uzlaznog poslužitelja unutar dodijeljenog vremena..

HTTP 505 HTTP verzija se ne podržava

Ova pogreška znači da poslužitelj ne podržava verziju protokola HTTP koja se koristi u zahtjevu.

Pregovara i HTTP 506 varijanta

Da biste razumjeli pogrešku 506, morate razumjeti transparentno pregovaranje o sadržaju.

Pregovaranjem o sadržaju jedan URL može isporučiti isti resurs ili informacije u više formata. Na primjer, ista se slika može kodirati kao JPEG i kao GIF.

Do pogreške 506 dolazi kada ovo pregovaranje sadržaja uzrokuje petlju. Na primjer: Zatraženi resurs A ima dvije varijacije – B i C. Obje imaju A kao varijantu.

Da biste to istakli na tehničkom jeziku, specifikacija opisuje pogrešku 506 sa:

Transparentno pregovaranje o sadržaju zahtjeva rezultira kružnom referencom.

HTTP 507 nedovoljna pohrana (WebDAV; RFC 4918)

Za ovaj se status koristi WebDAV protokol. Vraća se kad poslužitelj ne može pohraniti predstavu potrebnu za dovršavanje zahtjeva.

Otkrivena je HTTP 508 petlja

Poslužitelj je naišao na beskonačnu petlju dok je pokušavao poslužiti traženi resurs.

Prekoračen limit širine propusnosti HTTP 509 (Apache)

Nije dio HTTP standarda, ali ga je uveo i koristio Apache. Izdaje se kada su prekoračene granice propusnosti poslužitelja.

HTTP 510 nije prošireno

Ova pogreška znači da su potrebna daljnja proširenja zahtjeva da bi ih poslužitelj mogao ispuniti.

Potrebna je mrežna provjera autentičnosti 511

Pogreška 511 vraća se kad klijent treba provjeriti identitet kako bi dobio pristup mreži.

Ovaj je status namijenjen korištenju prilikom presretanja proxyja koji se koriste za kontrolu pristupa mreži – to su “zarobljeni portali” koji se koriste za zahtijevanje prijave ili sporazuma o uvjetima usluge prije nego što im se odobri pristup internetu putem WiFi portala.

(Ako ste se ikada pokušali povezati putem interneta u zračnoj luci ili hotelu, vjerojatno ste naišli na 511 pogrešku.)

HTTP 520 nepoznata pogreška

Ovaj kôd pogreške nije dio HTTP standarda, ali ga koristi nekoliko velikih pružatelja poslužiteljske infrastrukture kao usluga, poput CloudFlare. Koristi se kao opća pogreška „catch-all“ za neidentificirane probleme koji rezultiraju neispunjavanjem zahtjeva.

Pogreška u isteku mrežnog očitavanja HTTP 598 (Microsoft)

Ovaj kôd pogreške nije dio HTTP standarda, ali ga Microsoftovi HTTP proxy koriste za signaliziranje mrežnog vremena čekanja iza proxyja klijentu ispred proxyja..

Pogreška u isteku mrežnog povezivanja HTTP 599 (Microsoft)

Ovaj kôd pogreške nije dio HTTP standarda, ali ga Microsoftovi HTTP proxy koriste za signaliziranje vremenskog ograničenja mrežnog povezivanja iza proxyja s klijentom ispred proxyja..

Resursi

  • IANA: web stranica Agencije za dodjelu brojeva putem Interneta.
  • Registar koda statusa HTTP-a: službena IANA stranica s vezama na RFC-ove za svaki kôd.

Daljnje čitanje

Imamo više vodiča, vodiča i infografika vezanih za web razvoj:

  • Je li dolje? Stranice sa statusom za 50 najboljih pružatelja usluga hostinga: čak i najbolji poslužitelji povremeno se smanjuju. Ovaj članak nudi popis stranica sa statusom za 50 najboljih hosting kompanija.
  • Mrežno programiranje s internetskim utičnicama: ako želite naučiti hard core umrežavanje, ovo je članak za početak.
  • Ultimate popis alata za webmastere A-Z: od kodiranja do hostinga do marketinga, ovaj članak ima sve.

Vrhunski vodič za web hosting

Pogledajte naš Ultimate vodič za web hosting. Objasnit će vam sve što trebate znati kako biste napravili informirani izbor.

Vrhunski vodič za web hosting
Vrhunski vodič za web hosting

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map