Pređi na glavni sadržaj
LibraTool logoLibraTool

Referenca HTTP statusnih kodova — besplatno

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

Radi van mreže kada se učita

61 statusni kod

100

Nastavak

Server je primio zaglavlja zahteva i klijent bi trebao da nastavi sa telom.

Koristi se za zahteve sa Expect: 100-continue. Server potvrđuje da je spreman da primi telo pre nego što klijent pošalje. Retko se viđa u modernim veb-aplikacijama.

RFC 9110 ↗
101

Prebacivanje protokola

Server prelazi na protokol kako je zahtevao klijent.

Najčešće se koristi za nadogradnje WebSocket-a — klijent zahteva Upgrade: websocket a server odgovara sa 101 da promeni protokol.

RFC 9110 ↗
102

Obrada u toku

Server je primio zahtev i obrađuje ga, ali nema dostupnog odgovora.

Privremeni odgovor WebDAV-a poslat da spreči istek vremena klijenta tokom dugotrajnih operacija. Zastarelo — moderni serveri ne bi trebalo da ga šalju.

RFC 2518 ↗
103

Rana obaveštenja

Preliminarna zaglavlja poslata pre finalnog odgovora.

Omogućava serverima da pošalju Link zaglavlja (preload/preconnect) dok se konačni odgovor još priprema, tako da pregledači mogu ranije da počnu da preuzimaju kritične resurse.

RFC 8297 ↗
200

OK

Zahtev je bio uspešan.

Standardni odgovor uspeha. Značenje zavisi od HTTP metode: GET → resurs je vraćen, POST/PUT → akcija je dovršena.

RFC 9110 ↗
201

Kreirano

Novi resurs je uspešno kreiran.

Čest odgovor nakon POST-a. Odgovor bi trebalo da sadrži Location zaglavlje koje pokazuje na URL novog resursa.

RFC 9110 ↗
202

Prihvaćeno

Zahtev je prihvaćen za obradu, ali obrada još nije dovršena.

Za asinhrone operacije — server stavlja posao u red. Klijent bi trebalo periodično da proverava krajnju tačku statusa ili da se vrati kasnije.

RFC 9110 ↗
203

Neopunomoćena informacija

Odgovor je izmenio transformišući proxy.

Zahtev je bio uspešan, ali posrednik (kao što je keš ili transformišući proxy) je izmenio payload iz početnog servera — na primer, ponovo sažimanjem slike. Retko u praksi.

RFC 9110 ↗
204

Nema sadržaja

Zahtev je bio uspešan, ali nema tela odgovora.

Često se koristi za DELETE operacije ili PUT ažuriranja koja ne trebaju da vraćaju telo. Klijent ne bi trebalo da se pomera od trenutne stranice.

RFC 9110 ↗
205

Resetuj sadržaj

Zahtev je bio uspešan; klijent bi trebalo da resetuje prikaz dokumenta.

Kao 204, telo se ne vraća — ali klijentu se dodatno nalaže da resetuje formu ili prikaz koji je proizveo zahtev (npr. da obriše polja forme za sledeći unos).

RFC 9110 ↗
206

Parcijalni sadržaj

Server je dostavio samo deo resursa.

Odgovor na zahtev Range. Koriste ga video plejeri i menadžeri preuzimanja da nastave prekinuta preuzimanja ili strimovanje velikih fajlova.

RFC 9110 ↗
207

Više statusa

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

WebDAV: XML telo nezavisno izveštava o ishodu nekoliko podoperacija — npr. grupno premeštanje u kome su neke stavke uspele, a druge nisu.

RFC 4918 ↗
208

Već prijavljen

Članovi kolekcije su već navedeni ranije u odgovoru.

WebDAV: koristi se unutar odgovora 207 Multi-Status da se izbegne ponovno navođenje članova iste kolekcije kada veze (bindings) prave petlje.

RFC 5842 ↗
226

IM korišćeno

Odgovor je rezultat manipulacija instance primenjenih na resurs.

Delta kodiranje: server vraća razliku u odnosu na prethodnu verziju umesto punog resursa, što štedi propusnost. Vrlo retko primenjeno.

RFC 3229 ↗
300

Više izbora

Dostupno je nekoliko reprezentacija resursa.

Server nudi više opcija (npr. različite formate ili jezike) i klijent bi trebao da odabere jednu. Retko se koristi, jer automatska negocijacija sadržaja obično rešava ovo.

RFC 9110 ↗
301

Trajno premešćeno

Resurs je trajno prebačen na novi URL.

Koristi za trajne izmene URL-a — pretraživači će ažurirati svoj indeks. SEO autoritet prelazi na novi URL.

RFC 9110 ↗
302

Pronađeno (privremeno preusmeravanje)

Resurs se privremeno nalazi na drugom URL-u.

Ukazuje da preusmeravanje nije trajno. Keširanje je manje agresivno nego kod 301. Koristi se za slučajeve kao što je 'potrebna prijava, preusmeravanje na /login'.

RFC 9110 ↗
303

Vidi drugi

Preusmeri na drugi URL koristeći GET.

Koristi se nakon POST slanja — odgovor kaže 'vaš POST je uspeo, rezultat potražite na ovom GET URL-u'. Pregledači uvek šalju GET na novi URL.

RFC 9110 ↗
304

Nije modifikovano

Keširana verzija je još uvek važeća; koristi je.

Odgovor na uslovni zahtev (sa zaglavljima If-None-Match ili If-Modified-Since). Štedi propusnost — telo se ne vraća.

RFC 9110 ↗
307

Privremeno preusmeravanje

Kao 302 ali čuva originalnu HTTP metodu.

Ako je original bio POST, preusmeravanje takođe koristi POST. Moderna alternativa za 302 kada je očuvanje metode bitno.

RFC 9110 ↗
308

Trajno preusmeravanje

Kao 301 ali čuva originalnu HTTP metodu.

Moderna zamena za 301 kada želite da zahtevi POST ostanu POST nakon preusmeravanja.

RFC 9110 ↗
400

Loš zahtev

Server nije mogao da razume zahtev zbog loše formatirane sintakse.

Česti uzroci: loše formiran JSON u telu, nevaljani parametri upita, ili nedostaju obavezna polja. Proverite telo zahteva i zaglavlja.

RFC 9110 ↗
401

Neovlašćeno

Potrebna je autentifikacija i nije obezbeđena.

Klijent mora da uključi akreditive za autentifikaciju (Authorization zaglavlje, kolačić, token). 'Neovlašćeno' je pogrešan naziv — zapravo znači 'neautentifikovano'.

RFC 9110 ↗
402

Plaćanje obavezno

Rezervisano za buduću upotrebu — ponekad se koristi za plaćene API nivoe.

Prvobitno namenjeno za digitalna plaćanja. Moderna upotreba: API-ji ponekad vraćaju 402 kada korisnik prekorači svoju plaćenu kvotu.

RFC 9110 ↗
403

Zabranjen pristup

Klijent je autentifikovan, ali nema dozvolu.

Različito od 401 — korisnik JE prijavljen, ali njegov nalog nema dozvolu za ovaj resurs. Proverite logiku uloga/dozvola.

RFC 9110 ↗
404

Nije pronađeno

Zahtevani resurs ne postoji.

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

RFC 9110 ↗
405

Metoda nije dozvoljena

HTTP metoda korišćena nije dozvoljena za ovaj resurs.

Na primer, GET zahtev ka krajnjoj tački koja prihvata samo POST. Odgovor bi trebalo da sadrži Allow zaglavlje sa listom važećih metoda.

RFC 9110 ↗
406

Nije prihvatljivo

Nema reprezentacije koja se podudara sa Accept zaglavljima klijenta.

Klijent je zahtevao tip sadržaja, jezik, ili kodiranje (preko Accept, Accept-Language, Accept-Encoding) koji server ne može zadovoljiti. Mnogi serveri preskaču strogu negocijaciju i vraćaju podrazumevano.

RFC 9110 ↗
407

Potrebna je proxy autentifikacija

Klijent se mora prvo autentifikovati kod proxy-ja.

Kao 401, ali ga izdaje proxy: klijent mora da pošalje Proxy-Authorization akreditive. Viđa se na korporativnim mrežama sa proxyjima koji zahtevaju autentifikaciju.

RFC 9110 ↗
408

Isteklo vreme zahteva

Server je istekao čekajući zahtev.

Klijent je trajao previše dugo da pošalje telo zahteva ili je držao konekciju neaktivnom. Pokušajte zahtev ponovo.

RFC 9110 ↗
409

Konflikt

Zahtev je u konfliktu sa trenutnim stanjem resursa.

Obično se vraća za konflikte konkurentnog uređivanja ili dupliciranje kreiranja resursa (npr. kreiranje korisnika sa mejlom koji već postoji).

RFC 9110 ↗
410

Nestao

Resurs je obrisan i neće se vratiti.

Jači od 404 — server eksplicitno zna da je resurs NEKADA postojao, ali je trajno uklonjen. Pretraživači će ga deindeksirati.

RFC 9110 ↗
411

Dužina obavezna

Server zahteva Content-Length zaglavlje.

Zahtev je odbijen jer je nedostajao Content-Length zaglavlje i server odbija tela nepoznate veličine. Dodajte zaglavlje i pokušajte ponovo.

RFC 9110 ↗
412

Preduslov nije ispunjen

Uslov u zaglavljima zahteva nije ispunjen.

Vraća se kada uslovna zaglavlja kao If-Match ili If-Unmodified-Since ne uspeju — obično optimističko zaključavanje: neko drugi je promenio resurs od vaše verzije. Ponovo preuzmite resurs i pokušajte.

RFC 9110 ↗
413

Sadržaj zahteva prevelik

Telo zahteva premašuje granicu veličine servera.

Česta pri otpremanju velikih datoteka. Konfiguracija servera (nginx, apache) postavlja maksimalnu veličinu tela. Proverite konfiguraciju servera.

RFC 9110 ↗
414

URI prevelik

URL zahteva premašuje granicu dužine servera.

Obično je uzrokovano vrlo dugim upitnim stringovima (npr. kodiranje podataka u GET). Prebacite se na POST telo ili podignite granicu servera ako je kontrolišete.

RFC 9110 ↗
415

Tip medija nije podržan

Server ne može obraditi poslati Content-Type.

Na primer, slanje application/xml serveru koji prihvata samo application/json. Ispravno postavite Content-Type zaglavlje.

RFC 9110 ↗
416

Raspon nije zadovoljiv

Zahtevani bajt raspon je izvan veličine resursa.

Range zaglavlje traži deo koji datoteka nema — npr. nastavak preuzimanja posle kraja datoteke. Odgovor bi trebalo da sadrži Content-Range sa stvarnom veličinom.

RFC 9110 ↗
417

Očekivanje nije uspelo

Server ne može ispuniti zahteve Expect zaglavlja.

Poslato kada server ne podržava Expect: 100-continue. Neki klijenti podrazumevano šalju ovo zaglavlje na velikim POST zahtevima; isključivanje obično rešava grešku.

RFC 9110 ↗
418

Ja sam čajnik

Server odbija da kuva kafu jer je čajnik.

April Fool-ov vic iz 1998. godine (RFC 2324). Neki stvarni API-ji to koriste za viceve ili označavanje zastarelog endpointa. Ne za produkcijsku upotrebu.

RFC 2324 ↗
421

Pogrešno usmeran zahtev

Zahtev je poslat serveru koji ne može proizvesti odgovor za njega.

Česta kod ponovne upotrebe HTTP/2 konekcije: zahtev je stigao do servera koji nije konfigurisan za ciljni naziv hosta. Klijent bi trebalo da pokuša ponovo na novoj konekciji.

RFC 9110 ↗
422

Neobradljiv sadržaj

Zahtev je bio sintaksno ispravan ali semantički pogrešan.

Na primer, JSON je ispravno parsiran ali je nedostajalo obavezno polje ili je vrednost polja bila izvan dosega. Česta u REST API odgovorima validacije.

RFC 9110 ↗
423

Zaključan

Resurs je zaključan.

WebDAV: resurs izvora ili odredišta je zaključan od strane drugog klijenta, tako da operacija ne može da se nastavi. Sačekajte da se zaključavanje oslobodi ili ga poništite odgovarajućim tokenom.

RFC 4918 ↗
424

Neuspela zavisnost

Zahtev je neuspešan jer je prethodni zavisni zahtev neuspešan.

WebDAV: u lancu zavisnih operacija, prethodna radnja nije uspela, pa ova nije izvršena. Pogledajte raniji neuspeh da pronađete osnovni uzrok.

RFC 4918 ↗
425

Previše rano

Server odbija obradu zahteva koji bi mogao biti ponovljen.

Povezano sa TLS 1.3 0-RTT (rani podaci): server neće rizikovati obradu zahteva koji je možda ponovljen. Klijent bi trebalo da pokuša ponovo nakon završetka handshake-a.

RFC 8470 ↗
426

Nadogradnja obavezna

Klijent se mora prebaciti na drugačiji protokol.

Server odbija da obradi zahtev preko trenutnog protokola, ali će to učiniti nakon nadogradnje — odgovor uključuje Upgrade zaglavlje sa nazivom potrebnog protokola.

RFC 9110 ↗
428

Preduslov obavezan

Server zahteva da zahtev bude uslovan.

Server zahteva uslovna zaglavlja (kao If-Match) da bi se sprečili konflikti izgubljenog ažuriranja. Preuzmite resurs, zabeležite njegov ETag i ponovo pošaljite sa If-Match.

RFC 6585 ↗
429

Previše zahteva

Klijent je limitiran u broju zahteva.

Usporite. Odgovor bi trebalo da sadrži Retry-After zaglavlje koje označava kada pokušati ponovo. Česta sa API-jima koji imaju kvote zahteva.

RFC 6585 ↗
431

Zaglavlja zahteva prevelika

Zaglavlja su prevelika za server da obradi.

Ili jedno zaglavlje ili ukupna veličina zaglavlja premašuje granicu — najčešće zbog prevelikih kolačića. Obrišite kolačiće ili smanjite ono što vaša aplikacija u njima čuva.

RFC 6585 ↗
451

Nedostupno iz pravnih razloga

Pristup odbijen zbog pravnih zahteva.

Resurs je blokiran iz pravnih razloga — cenzura, sudske odluke ili regionalne regulacije. Broj je aluzija na roman 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. Proverite evidenciju servera za stvarni uzrok: neobrađeni izuzetak, greška baze podataka itd.

RFC 9110 ↗
501

Nije implementirano

Server ne podržava traženu funkcionalnost.

Na primer, server ne prepoznaje HTTP metodu. Retko u praksi — češće ćete videti 405.

RFC 9110 ↗
502

Loš gateway

Server, koji deluje kao gateway, je dobio loš odgovor od upstream servera.

Česta u arhitekturama sa mikroservisima. Vaš balanser opterećenja ili reverse proxy je dobio pogrešan odgovor od backend servisa.

RFC 9110 ↗
503

Servis nije dostupan

Server je privremeno nesposoban da obradi zahtev.

Ili je isključen zbog održavanja ili je preopterećen. Odgovor bi trebalo da sadrži Retry-After zaglavlje. Često se vraća tokom objavljivanja novih verzija.

RFC 9110 ↗
504

Timeout gateway-ja

Gateway server je istekao čekajući upstream odgovor.

Backend servis nije odgovorio dovoljno brzo. Proverite zdravlje upstream servisa i konfiguracije vremenskog ograničenja.

RFC 9110 ↗
505

HTTP verzija nije podržana

Server ne podržava HTTP verziju korišćenu u zahtevu.

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

RFC 9110 ↗
506

Varijanta takođe pregovara

Server ima grešku u konfiguraciji pregovaranja sadržaja.

Transparentno pregovaranje o sadržaju je završilo u petlji: izabrana varijanta je i sama konfigurisana za pregovaranje. Ukazuje na grešku konfiguracije servera.

RFC 2295 ↗
507

Nedovoljno prostora za skladištenje

Server je bez mesta na disku.

WebDAV-specifično po poreklu ali ponekad korišćeno od strane opštih servera. Znači da server ne može da sačuva zahtev zbog ograničenja skladištenja.

RFC 4918 ↗
508

Petlja detektovana

Server je detektovao beskonačnu petlju pri obradi zahteva.

WebDAV: obrada Depth: infinity zahteva je ušla u petlju (npr. kružne veze). Operacija je prekinuta.

RFC 5842 ↗
510

Nije prošireno

Potrebna su dalja proširenja zahteva.

Iz zastarelog HTTP Extension Framework-a: server treba više informacija pre nego što može ispuniti zahtev. Efektivno nekorišćeno na modernom vebu.

RFC 2774 ↗
511

Mrežna autentifikacija obavezna

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

Korišćeno od strane captive portala (hotel/airport WiFi) da bi se naznačilo da se korisnik mora prijaviti na mrežu pre pristupa spoljnim sajtovima.

RFC 6585 ↗

Uobičajene upotrebe

  • Referensa za API dizajnPrilikom dizajniranja REST API, izberite pravi status koda za svaki odgovor.
  • Brzo potražite kodove grešakaKada aplikacija vraća zbunjujuću HTTP grešku, potražite šta to zaista znači.
  • Učite HTTP status kodoveSveobuhvatna referenca za studente i programere koji učat HTTP i REST.
  • Brza referenca tokom incidenataZa vreme proizvodnih incidenata, brzo potražite šta znači svaki status koda.
  • Referenca za API dokumentacijuPrilikom pisanja API dokumentacije, poveži se sa merodavnim opisima kodova statusa koje vraćaš.

Kako funkcioniše

Ova alatka je referenca na klijentu izgrađena oko fiksne tabele pretraživanja od 63 HTTP statusna koda koji obuhvataju svih pet klasa (1xx–5xx), svaki označen brojem RFC-a koji ga definiše. Nema poziva serveru, spoljnog API-ja, niti mrežnog zahteva — celo filtriranje i prikazivanje se dešava u pregledaču koristeći ugrađene metode niza i niza znakova JavaScript-a.

  1. 1
    Tabela pretraživanja je učitana
    Ceo skup od 63 statusna koda registrovana kod IANA je ugrađen direktno u ovu alatku kao JavaScript niz, gde svaki unos nosi brojčani kod, kanonski engleski naziv, klasu kategorije, i konkretan RFC koji ga definiše (npr. RFC 9110 za većinu HTTP/1.1 kodova, RFC 6585 za 429 Previše zahteva, RFC 2324 za 418 Ja sam čajnik).
  2. 2
    Filter se izvršava u memoriji
    Dok kucate ili birate filter kategorije, Array.filter JavaScript-a se izvršava nad listom u memoriji, upoređujući vaš upit sa brojem statusnog koda, kanonskim nazivom, i kratkim i dugim nizovima opisa koristeći String.includes — bez odlaganja, bez putovanja do servera i nazad.
  3. 3
    Detalji se šire uz RFC vezu
    Svaki rezultat se prikazuje kao HTML details/summary element. Širenje unosa otkriva objašnjenje u dugoj formi i direktnu vezu ka autoritativnom RFC-u na rfc-editor.org, tako da možete pročitati tačan tekst specifikacije za bilo koji kod.
  4. 4
    Duboke veze i kopiranje u privremenu memoriju
    Otvaranje unosa ažurira URL heš na broj koda (npr. #404), čineći stranicu deljivom i pogodnom za obeležavanje. Dugme za kopiranje upisuje kanonski niz (npr. '404 Not Found') u privremenu memoriju preko navigator.clipboard API-ja pregledača.

Slične alatke

Česta pitanja