Preskoči na glavni sadržaj

Referenca HTTP statusnih kodova — besplatno

Pretraživa referenca za sve HTTP statusne kodove — što svaki znači, kada se koristi i uobičajeni uzroci. Od 100 do 511.

Radi offline nakon učitavanja

61 statusni kod

100

Nastavi

Server je primio zaglavlja zahtjeva i klijent može nastaviti s tijelom.

Koristi se za zahtjeve s Expect: 100-continue. Server potvrđuje da je spreman primiti tijelo prije nego što klijent pošalje. Rijetko vidljivo u modernim web aplikacijama.

RFC 9110 ↗
101

Prebacivanje protokola

Server prebacuje protokole kao što je zatražio klijent.

Najčešće korišteno za WebSocket nadogradnje — klijent traži Upgrade: websocket i server odgovara s 101 za prebacivanje.

RFC 9110 ↗
102

Obrada u tijeku

Server je primio zahtjev i obrađuje ga, ali odgovor još nije dostupan.

Privremeni WebDAV odgovor poslan kako bi se spriječilo isteknuće veze tijekom dugotrajnih operacija. Zastarjelo — moderni poslužitelji ne bi ga trebali slati.

RFC 2518 ↗
103

Rana svojstva

Privremena zaglavlja poslana prije konačnog odgovora.

Omogućuje serverima slanje Link zaglavlja (preload/preconnect) dok se konačan odgovor još spremira, tako da preglednici mogu početi brže dohvaćati kritične resurse.

RFC 8297 ↗
200

OK

Zahtjev je uspio.

Standardan odgovor uspjesa. Značenje ovisi o HTTP metodi: GET → resurs vraćen, POST/PUT → akcija dovršena.

RFC 9110 ↗
201

Kreirano

Novi resurs je uspješno kreiran.

Čest nakon POST-a. Odgovor bi trebao uključiti Location zaglavlje koje pokazuje na URL novog resursa.

RFC 9110 ↗
202

Prihvaćeno

Zahtjev je prihvaćen za obrada, ali obrada nije dovršena.

Za asinkrone operacije — server stavi posao u red čekanja. Klijent bi trebao provjeravati status krajnju točku ili provjeriti kasnije.

RFC 9110 ↗
203

Neobjektivna informacija

Odgovor je izmijenjen transformirajućim proxyjem.

Zahtjev je uspio, ali intermedijator (kao što je proxy za cachiranje ili transformaciju) promijenio je opterećenje s izvornog servera — na primjer, ponovno kompresiranje slika. Rijetko u praksi.

RFC 9110 ↗
204

Nema sadržaja

Zahtjev je uspio, ali nema tijela odgovora.

Često se koristi za DELETE operacije ili PUT ažuriranja koja ne trebaju vraćati tijelo. Klijent ne bi trebao navigirati s trenutne stranice.

RFC 9110 ↗
205

Resetiranje sadržaja

Zahtjev je uspio; klijent bi trebao resetirati prikaz dokumenta.

Kao 204, nema vraćenog tijela — ali se klijent dodatno upućuje na resetiranje obrasca ili prikaza koji je generirao zahtjev (npr. brisanje polja obrasca za sljedeće unose).

RFC 9110 ↗
206

Djelomični sadržaj

Server je dostavio samo dio resursa.

Odgovor na Range zahtjev. Koriste ga reproduktori videozapisa i upravitelji preuzimanja da nastave s prekidnutim preuzimanjem ili emitiranjem velikih datoteka.

RFC 9110 ↗
207

Više statusa

Tijelo odgovora sadrži više kodova statusa za više operacija.

WebDAV: XML tijelo izvještava o ishodu nekoliko pod-operacija nezavisno — npr. skupno premještanje gdje su neke stavke uspješne a druge nisu.

RFC 4918 ↗
208

Već je prijavljeno

Članovi kolekcije su već nabrojani ranije u odgovoru.

WebDAV: koristi se unutar 207 Multi-Status odgovora da bi se izbjeglo ponovljeno navođenje članova iste kolekcije kada veze stvaraju petlje.

RFC 5842 ↗
226

IM korišteno

Odgovor je rezultat manipulacija primjene na resurs.

Delta kodiranje: server vraća razliku u odnosu na prethodnu verziju umjesto cijelog resursa, čime se štedi propusnost. Iznimno rijetko implementirano.

RFC 3229 ↗
300

Višestruki izbori

Dostupno je nekoliko reprezentacija resursa.

Server nudi više opcija (npr. različiti formati ili jezici) i klijent bi trebao odabrati jednu. Rijetko korišteno jer automtska negocijacija sadržaja obično to obradi.

RFC 9110 ↗
301

Trajno premješteno

Resurs je trajno premješten na novi URL.

Koristi se za trajna izmjena URL-a — tražilice će ažurirati svoju indeks. SEO autoritet se prenosi na novi URL.

RFC 9110 ↗
302

Pronađeno (Privremeno preusmjeravanje)

Resurs je privremeno na drugoj URL adresi.

Pokazuje da preusmjeravanje nije trajno. Cachiranje je manje agresivno nego 301. Koristi se za stvari kao što je 'potrebna prijava, preusmjeravanje na /login'.

RFC 9110 ↗
303

Pogledaj drugdje

Preusmjeri se na drugačiti URL koristeći GET.

Koristi se nakon POST dostave — odgovor kaže 'vaš POST je uspio, pogledajte tu GET URL za rezultat'. Preglednici uvijek GET novu URL adresu.

RFC 9110 ↗
304

Nije promijenjeno

Verzija u cacheu je još uvijek važeća; koristite je.

Odgovor na uvjetni zahtjev (s If-None-Match ili If-Modified-Since zaglavljima). Štedi propusnost — nema vraćenog tijela.

RFC 9110 ↗
307

Privremeno preusmjeravanje

Kao 302 ali čuva originalnu HTTP metodu.

Ako je original bio POST, preusmjeravanje koristi i POST. Moderna alternativa 302 kada je čuvanje metode važno.

RFC 9110 ↗
308

Trajno preusmjeravanje

Kao 301 ali čuva originalnu HTTP metodu.

Moderni zamjena za 301 kada želite da POST zahtjevi ostanu POST nakon preusmjeravanja.

RFC 9110 ↗
400

Loš zahtjev

Server nije mogao razumjeti zahtjev zbog loše oblikovane sintakse.

Česti uzroci: loše oblikovani JSON u tijelu, nevaljani parametri upita ili nedostajući obavezni polja. Provjerite tijelo zahtjeva i zaglavlja.

RFC 9110 ↗
401

Neovlašteno

Autentifikacija je obavezna i nije pružena.

Klijent mora uključiti vjerodajnice autentifikacije (Authorization zaglavlje, kolačić, token). 'Neovlašteno' je pogrešan naziv — doista znači 'neautenticirano'.

RFC 9110 ↗
402

Plaćanje obavezno

Rezervirano za budućnost — ponekad se koristi za plaćene API slojeve.

Izvorno namijenjeno za digitalne plaćanja. Moderna upotreba: API-ji ponekad vraćaju 402 kada korisnik premaši svoju plaćenu kvotu.

RFC 9110 ↗
403

Zabranjeno

Klijent je autentificiran ali nema dozvole.

Različito od 401 — korisnik JE prijavljen, ali njegov račun nema dozvolu za ovaj resurs. Provjerite logiku uloge/dozvole.

RFC 9110 ↗
404

Nije pronađeno

Traženi resurs ne postoji.

URL je pogrešan, resurs je obrisan ili nikada nije postojao. Serveri ponekad vraćaju 404 da sakriju da bi 403 bio točniji.

RFC 9110 ↗
405

Metoda nije dozvoljena

HTTP metoda koja se koristi nije dozvoljena za ovaj resurs.

Na primjer, GET zahtjev na krajnju točku koja prihvaća samo POST. Odgovor bi trebao uključiti Allow zaglavlje koje navodi važeće metode.

RFC 9110 ↗
406

Nije prihvatljivo

Niti jedna reprezentacija se ne podudara s zaglavljima Accept klijenta.

Klijent je zatražio tip sadržaja, jezik ili kodiranje (putem Accept, Accept-Language, Accept-Encoding) koje server ne može zadovoljiti. Mnogi serveri preskakaju strogu negocijaciju i vraćaju zadanu vrijednost umjesto toga.

RFC 9110 ↗
407

Potrebna je autentifikacija proxyja

Klijent se mora prvo autentificirati kod proxy servera.

Kao 401, ali izdano od strane proxyja: klijent mora slati Proxy-Authorization vjerodajnice. Vidljivo na korporativnim mrežama s autentificiranjem proxyjem.

RFC 9110 ↗
408

Isteka vremena zahtjeva

Server je istekao dok je čekao zahtjev.

Klijent je trajao previše dugo da pošalje tijelo zahtjeva ili je držao vezu u stanju mirovanja. Pokušajte zahtjev ponovno.

RFC 9110 ↗
409

Sukob

Zahtjev je u sukobu s trenutnim stanjem resursa.

Obično se vraća za sukobe istovremene uređivanja ili dupliciranje stvaranja resursa (npr. stvaranje korisnika s e-poštom koja već postoji).

RFC 9110 ↗
410

Otišao

Resurs je izbrisan i neće se vratiti.

Jače od 404 — server eksplicitno zna da je resurs POSTOJAO ali je trajno uklonjen. Tražilice će ga izbrisati iz indeksa.

RFC 9110 ↗
411

Potrebna je dužina

Server zahtijeva zaglavlje Content-Length.

Zahtjev je odbijena jer je nedostajao zaglavlje Content-Length i server odbija tijela nepoznate veličine. Dodajte zaglavlje i pokušajte ponovno.

RFC 9110 ↗
412

Preduvjet nije ispunjen

Uvjet u zaglavljima zahtjeva nije ispunjen.

Vraća se kada uvjetna zaglavlja poput If-Match ili If-Unmodified-Since ne uspiju — obično optimistični lock: netko drugi je promijenio resurs od vaše verzije. Ponovno dohvatite i pokušajte.

RFC 9110 ↗
413

Teško je premalo

Tijelo zahtjeva prelazi granicu veličine servera.

Često se javlja pri učitavanju velikih datoteka. Konfiguracija servera (nginx, apache) postavlja maksimalnu veličinu tijela. Provjerite konfiguraciju servera.

RFC 9110 ↗
414

URI je previše dugo

URL zahtjeva prelazi granicu dužine servera.

Obično uzrokovano vrlo dugim nizovima upita (npr. kodiranje podataka u GET-u). Prebacite na POST tijelo ili povećajte ograničenje poslužitelja ako njime upravljate.

RFC 9110 ↗
415

Nepodržani tip medija

Server ne može rukovati poslatanim Content-Type-om.

Na primjer, slanje application/xml na server koji samo prima application/json. Postavite zaglavlje Content-Type ispravno.

RFC 9110 ↗
416

Raspon nije zadovoljan

Traženi raspon bajtova je izvan veličine resursa.

Zaglavlje Range traži dio koji datoteka nema — npr. nastavak preuzimanja nakon kraja datoteke. Odgovor bi trebao uključiti Content-Range sa stvarnom veličinom.

RFC 9110 ↗
417

Očekivanje nije uspjelo

Server ne može ispuniti zahtjeve zaglavlja Expect.

Poslano kada server ne podržava Expect: 100-continue. Neki klijenti pošalju ovo zaglavlje prema zadanoj vrijednosti na velikim POST-ima; onemogućavanje obično rješava grešku.

RFC 9110 ↗
418

Ja sam čajnik

Server odbija kuhati kavu jer je čajnik.

Aprilska šala iz 1998. godine (RFC 2324). Neki stvarni API-ji koriste je za šale ili označavanje zastarjelih krajnjih točaka. Nije za produkcijsku upotrebu.

RFC 2324 ↗
421

Krivo usmjeren zahtjev

Zahtjev je poslan na server koji ne može proizvesti odgovor za njega.

Česta s HTTP/2 ponovnom upotrebom veze: zahtjev je stigao na server koji nije konfiguriran za ciljani naziv hosta. Klijent bi trebao pokušati ponovno na novoj vezi.

RFC 9110 ↗
422

Neobrađeni sadržaj

Zahtjev je bio sintaksno valjan ali semantički pogrešan.

Na primjer, JSON je ispravno analiziran ali nedostajalo je obavezno polje ili je vrijednost polja bila izvan dosega. Česta u odgovorima validacije REST API-ja.

RFC 9110 ↗
423

Zaključano

Resurs je zaključan.

WebDAV: izvor ili odredišni resurs je zaključan od strane drugog klijenta, tako da se operacija ne može izvršiti. Čekajte da se lock oslobodi ili ga prekršite s odgovarajućim tokenam.

RFC 4918 ↗
424

Neuspješna ovisnost

Zahtjev je neuspješan jer je prethodni ovisni zahtjev neuspješan.

WebDAV: u lancu ovisnih operacija, ranija akcija je neuspjela, tako da ova nije izvedena. Pogledajte raniju grešku za root uzrok.

RFC 4918 ↗
425

Preuranjeno

Server odbija obraditi zahtjev koji bi mogao biti ponovno reproduciran.

Vezano uz TLS 1.3 0-RTT (rana podataka): server neće riskirirati obradu zahtjeva koji bi mogao biti ponovno reproduciran. Klijent bi trebao pokušati ponovno nakon završetka rukovanja.

RFC 8470 ↗
426

Potrebna nadogradnja

Klijent se mora prebaciti na drugi protokol.

Server odbija poslužiti zahtjev preko trenutnog protokola ali će nakon nadogradnje — odgovor uključuje zaglavlje Upgrade koje imenuje potreban protokol.

RFC 9110 ↗
428

Preduvjet obavezan

Server zahtijeva da zahtjev bude uvjetna.

Server zahtijeva uvjetna zaglavlja (kao If-Match) da spriječi sukobe izgubljenih ažuriranja. Dohvatite resurs, snimite njegov ETag i ponovno pošaljite s If-Match.

RFC 6585 ↗
429

Previše zahtjeva

Klijent je ograničen brzinom.

Usporiti. Odgovor bi trebao uključiti zaglavlje Retry-After koje označava kada pokušati ponovno. Česta s API-jima koji imaju kvote zahtjeva.

RFC 6585 ↗
431

Polja zaglavlja zahtjeva su previše velika

Zaglavlja su prevelika za obradu servera.

Ili jedno zaglavlje ili ukupna veličina zaglavlja prelazi granicu — najčešće uzrokovano prevelikim kolačičima. Obrisite kolačiće ili smanjite ono što vaša aplikacija u njima sprema.

RFC 6585 ↗
451

Nedostupno iz pravnih razloga

Pristup odbijen zbog pravnih zahtjeva.

Resurs je blokiran iz pravnih razloga — cenzura, sudski nanosi ili regionalne propise. Broj je nagrada romanu Fahrenheit 451.

RFC 7725 ↗
500

Interna greška servera

Server je naišao na neočekivano stanje.

Generički catch-all za greške na strani servera. Provjerite logove servera za stvarni uzrok: neobrađena iznimka, greška baze podataka, itd.

RFC 9110 ↗
501

Nije implementirano

Server ne podržava traženu funkcionalnost.

Na primjer, server ne prepoznaje HTTP metodu. Rijetko u praksi — većina ćete vidjeti 405.

RFC 9110 ↗
502

Loš pristupni server

Server, koji radi kao gateway, je dobio loš odgovora od upstream servera.

Čest u mikroservisnim arhitekturama. Vaš load balancer ili reverse proxy je dobio neispravnu odgovora od backend servisa.

RFC 9110 ↗
503

Usluga nije dostupna

Server je privremeno neuspješan obraditi zahtjev.

Ili odsutan na održavanju ili preplavljeni. Odgovor bi trebao uključiti zaglavlje Retry-After. Često se vraća tijekom implementacije.

RFC 9110 ↗
504

Timeout pristupnog servera

Gateway server je istekao čekajući upstream odgovora.

Backend servis nije odgovorio dovoljno brzo. Provjerite zdravlje upstream servisa i konfiguraciju isteka vremena.

RFC 9110 ↗
505

HTTP verzija nije podržana

Server ne podržava HTTP verziju korištenu u zahtjevu.

Glavna HTTP verzija zahtjeva nije podržana od strane servera. Gotovo nikada se ne vidi s modernim klijentima.

RFC 9110 ↗
506

Varijanta također pregovara

Server ima grešku u pregovaranju sadržaja.

Transparentna pregovaranje sadržaja je završilo u petlji: odabrana varijanta je sama konfigurirana za pregovaranje. Označava grešku u konfiguraciji servera.

RFC 2295 ↗
507

Nedovoljan prostor za pohranu

Serveru je ponestalo mjesta na disku.

WebDAV-specifično podrijetlo ali ponekad korišteno od strane općih servera. Znači da server ne može sačuvati zahtjev zbog ograničenja skladištenja.

RFC 4918 ↗
508

Petlja detektirana

Server je detektovao beskonačnu petlju tijekom obrade zahtjeva.

WebDAV: obrada Depth: infinity zahtjeva je ušla u petlju (npr. kružne veze). Operacija je završena.

RFC 5842 ↗
510

Nije prošireno

Potrebna su daljnja proširenja na zahtjev.

Iz zastarjeloga HTTP Extension Framework-a: server treba više informacija prije nego što može ispuniti zahtjev. Praktički neuporabljen na modernom webu.

RFC 2774 ↗
511

Potrebna autentifikacija mreže

Klijent se mora autentificirati da bi dobio pristup mreži.

Koristi se od strane zatvora portala (hotel/aerodrom WiFi) da bi se označilo da se korisnik mora prijaviti na mrežu prije pristupa vanjskim mjestima.

RFC 6585 ↗

Uobičajene namjene

  • Referenca za API dizajnPri dizajniranju REST API-ja, odaberite pravi kod statusa za svaki odgovor.
  • Brzo potražite kodove grešakaKada vaša aplikacija vraća zbunjujuću HTTP grešku, potražite što zapravo znači.
  • Učite HTTP kodove statusaSveobuhvatna referenca za studente i programere koji uče HTTP i REST.
  • Brza referenca tijekom incidenatatijekom proizvodnih incidenata, brzo potražite što znači svaki kod statusa.
  • Referenca za API dokumentacijuPri pisanju API dokumentacije, povežite se s mjerodavnim opisima kodova statusa koje vraćate.

Kako funkcionira

Ovaj alat je referenca na strani klijenta izgrađena oko tvrdo kodirane tablice pretrage od 63 HTTP statusna koda koji obuhvaćaju svih pet klasa (1xx–5xx), svaki označen svojim definirajućim RFC brojem. Nema poziva poslužitelju, nema vanjskog API-ja, nema mrežnog zahtjeva — sve filtriranje i prikaz odvija se u pregledniku koristeći ugrađene metode nizova i stringova JavaScripta.

  1. 1
    Tablica pretrage se učitava
    Cijeli skup od 63 IANA-registrirana statusna koda ugrađen je izravno u ovaj alat kao JavaScript niz, svaki unos nosi brojčani kod, kanonski engleski naziv, klasu kategorije i konkretni RFC koji ga definira (npr. RFC 9110 za većinu HTTP/1.1 kodova, RFC 6585 za 429 Too Many Requests, RFC 2324 za 418 I'm a Teapot).
  2. 2
    Filtar radi u memoriji
    Dok tipkate ili birate filtar kategorije, Array.filter JavaScripta radi na popisu u memoriji, uspoređujući vaš upit s brojem statusnog koda, kanonskim nazivom i kratkim i dugim nizovima opisa koristeći String.includes — bez odgode, bez okretanja poslužitelju.
  3. 3
    Detalji se proširuju s poveznicom na RFC
    Svaki rezultat renderira se kao HTML details/summary element. Proširivanje unosa otkriva dugoformatno objašnjenje i izravnu poveznicu na mjerodavni RFC na rfc-editor.org, tako da možete pročitati točan tekst specifikacije za bilo koji kod.
  4. 4
    Duboke poveznice i kopiranje u međuspremnik
    Otvaranje unosa ažurira URL hash na broj koda (npr. #404), čineći stranicu djeljivom i prikladnom za knjižne oznake. Gumb za kopiranje zapisuje kanonski niz (npr. '404 Not Found') u međuspremnik putem navigator.clipboard API-ja preglednika.

Srodni alati

Često postavljana pitanja