Preskoči na glavno vsebino

Referenca za statusne kode HTTP — brezplačno

Iskalna referenca za vse statusne kode HTTP — kaj pomeni vsaka, kdaj se uporablja in pogosti vzroki. Od 100 do 511.

Deluje brez povezave po nalaganju

61 statusna koda

100

Nadaljuj

Strežnik je prejal glavo zahtevka in odjemalec mora nadaljevati s telesom.

Uporablja se za zahtevke s pričakovanjem: 100-continue. Strežnik potrdi, da je pripravljen sprejeti telo, preden odjemalec pošlje telo. Redko videno v sodobnih spletnih aplikacijah.

RFC 9110 ↗
101

Preklop protokolov

Strežnik preklapa protokole, kot jih zahteva odjemalec.

Najpogosteje uporabljeno za nadgradnje WebSocket — odjemalec zahteva nadgradnjo: websocket in strežnik odgovori 101 za preklop.

RFC 9110 ↗
102

Obdelava

Strežnik je prejal zahtevek in ga obdeluje, vendar odziv še ni na voljo.

Vmesni odziv WebDAV, poslan, da se prepreči prekinitev odjemalca med dolgotrajnimi operacijami. Zastarelo — moderni strežniki ga ne bi smeli pošiljati.

RFC 2518 ↗
103

Zgodnji namigi

Predhodne glave poslane pred končnim odzivom.

Omogoča strežnikom, da pošljejo glave Link (preload/preconnect), medtem ko se končni odziv še pripravlja, zato lahko brskalniki prej začnejo prenašati kritične sredstva.

RFC 8297 ↗
200

V redu

Zahtevek je uspel.

Standardni odziv o uspehu. Pomen je odvisen od HTTP metode: GET → vir vrnjen, POST/PUT → dejanje izvedeno.

RFC 9110 ↗
201

Ustvarjeno

Nov vir je bil uspešno ustvarjen.

Pogosto po POST. Odziv naj vključuje glavo Location, ki kaže na URL novega vira.

RFC 9110 ↗
202

Sprejeto

Zahtevek je sprejet za obdelavo, vendar obdelava ni dokončana.

Za asinkrone operacije — strežnik postavlja delo v čakalno vrsto. Odjemalec bi moral preslikati končno točko stanja ali ponovno preveriti.

RFC 9110 ↗
203

Neuporabljive avtoritativne informacije

Odziv je spremenila proxy s preoblikovanjem.

Zahtevek je uspel, vendar je vmesnik (npr. proxy za predpomnenje ali preoblikovanje) spremenil koristno obremenitev s prvotnega strežnika — npr. ponovno stiskanje slik. V praksi redko.

RFC 9110 ↗
204

Brez vsebine

Zahtevek je uspel, vendar ni telesa odziva.

Pogosto se uporablja za operacije DELETE ali nadgradnje PUT, ki ne morajo vrniti telesa. Odjemalec ne bi smel navigirati stran od trenutne strani.

RFC 9110 ↗
205

Ponastavi vsebino

Zahtevek je uspel; odjemalec bi moral ponastaviti pogled dokumenta.

Kot 204, ni vrnjeno nobeno telo — toda odjemalcu je dodatno povedano, da naj ponastaviti obrazec ali pogled, ki je sprožil zahtevek (npr. počisti polja obrazca za naslednji vnos).

RFC 9110 ↗
206

Delna vsebina

Strežnik je dosegel samo del vira.

Odziv na zahtevek Range. Uporabljajo ga video predvajalniki in upravljavci prenosov za nadaljevanje prekinjenih prenosov ali pretakanje velikih datotek.

RFC 9110 ↗
207

Več stanj

Telo odziva vsebuje več statusnih kod za več operacij.

WebDAV: telo XML poroča o rezultatih več podoperacij neodvisno — npr. serizna premestitev, kjer so nekateri predmeti uspeli in drugi ne.

RFC 4918 ↗
208

Že poročano

Člani zbirke so bili že našteti prej v odgovoru.

WebDAV: uporabljeno znotraj odzivov 207 Multi-Status, da se izognete ponavljajočemu naštevanju članov iste zbirke, kadar vezi ustvarijo zanke.

RFC 5842 ↗
226

Uporabljena manipulacija

Odziv je rezultat manipulacij primerov, uporabljenih za vir.

Delta kodiranje: strežnik vrne razliko glede na prejšnjo različico namesto celotnega vira, kar varčuje s pasovno širino. Zelo redko izvedeno.

RFC 3229 ↗
300

Več izbir

Več predstav vira je razpoložljivih.

Strežnik ponuja več možnosti (npr. različne oblike ali jezike) in odjemalec bi moral izbrati eno. Redko se uporablja, ker samodejna pogajanja vsebine običajno to rešijo.

RFC 9110 ↗
301

Trajno premaknjeno

Vir se je trajno premaknil na nov URL.

Uporabi za trajne spremembe URL — iskalni motorji bodo posodobili svoj indeks. Avtoriteta SEO se prenese na nov URL.

RFC 9110 ↗
302

Najdeno (Začasna preusmeritev)

Vir je začasno na drugem URL-u.

Označuje, da preusmeritev ni trajna. Predpomnenje je manj agresivno kot 301. Uporabi za stvari, kot je 'potrebna prijava, preusmeritev na /login'.

RFC 9110 ↗
303

Glejte drugega

Preusmerite se na drugačen URL z GET.

Uporablja se po pošiljanju POST — odziv pravi 'tvoj POST je deloval, pojdi na ta GET URL za rezultat'. Brskalniki vedno GET nov URL.

RFC 9110 ↗
304

Ni spremenjeno

Predpomnjena različica je še vedno veljavna; uporabite jo.

Odziv na pogojni zahtevek (sHeaderI If-None-Match ali If-Modified-Since). Varčuje s pasovno širino — nobeno telo ni vrnjeno.

RFC 9110 ↗
307

Začasna preusmeritev

Kot 302, vendar ohranja originalno HTTP metodo.

Če je izvirnik POST, preusmeritev uporablja tudi POST. Sodoben nadomestek za 302, kadar je ohranitev metode pomembna.

RFC 9110 ↗
308

Trajna preusmeritev

Kot 301, vendar ohranja originalno HTTP metodo.

Sodoben nadomestek za 301, kadar želite, da ostanejo zahtevki POST po preusmeritvi POST.

RFC 9110 ↗
400

Slab zahtevek

Strežnik ni mogel razumeti zahtevka zaradi napačne sintakse.

Splošni razlogi: slabo oblikovani JSON v telesu, neveljavni parametri poizvedbe ali manjkajoča polja. Preverite telo zahtevka in glave.

RFC 9110 ↗
401

Neavtorizirano

Avtentifikacija je zahtevana in ni bila zagotovljena.

Odjemalec mora vključiti pristojnostne podatke (glavo Authorization, piškotek, žeton). 'Neavtoricirano' je misnomer — v resnici pomeni 'nepreverjeno'.

RFC 9110 ↗
402

Plačilo zahtevano

Rezervirano za prihodnje uporabe — včasih se uporablja za plačane ravni API-jev.

Prvotno namenjen digitalnim plačilom. Moderna uporaba: API-ji včasih vrnejo 402, ko je uporabnik presegel svojo plačano kvoto.

RFC 9110 ↗
403

Prepovedan

Odjemalec je overjen, vendar nima dovoljenj.

Drugače od 401 — uporabnik JE prijavljen, vendar njegov račun nima dovoljenj za ta vir. Preverite logiko vloge/dovoljenj.

RFC 9110 ↗
404

Ni najdeno

Zahtevan vir ne obstaja.

Ali je URL napačen, je bil vir izbrisan ali nikoli ni obstajal. Strežniki včasih vrnejo 404, da skrijejo, da bi bil 403 bolj natančen.

RFC 9110 ↗
405

Metoda ni dovoljena

HTTP metoda, ki se uporablja, ni dovoljena za ta vir.

Na primer, zahtevek GET na končni točki, ki sprejema samo POST. Odziv bi moral vključevati glavo Allow, ki navaja veljavne metode.

RFC 9110 ↗
406

Nesprejemljivo

Nobena predstava se ne ujema s HTTP naglavami Accept odjemalca.

Odjemalec je zahteval vrsto vsebine, jezik ali kodiranje (prek Accept, Accept-Language, Accept-Encoding), ki ga strežnik ne more izpolniti. Številni strežniki preskočijo stroga pogajanja in vrnejo privzetost.

RFC 9110 ↗
407

Zahtevana avtentifikacija proxy-ja

Odjemalec se mora najprej avtentificirati pri proxy strežniku.

Kot 401, vendar ga izda proxy: odjemalec mora poslati pristojnostne podatke Proxy-Authorization. Videno v podjetniških omrežjih s potrjujoče proxy-ji.

RFC 9110 ↗
408

Časovna omejitev zahteve

Strežnik jeTimeout med čakanjem na zahtevo.

Odjemalec je preveč dolgo čakal, da pošlje telo zahteve, ali pa je pustil povezavo neaktivno. Poskusite zahtevo ponovno.

RFC 9110 ↗
409

Konflikt

Zahteva je v konfliktu s trenutnim stanjem vira.

Običajno se vrne za konflikte sočasnih urejanj ali duplikate ustvarjanja virov (npr. ustvarjanje uporabnika s e-pošto, ki že obstaja).

RFC 9110 ↗
410

Prešlo

Vir je bil izbrisan in se ne bo vrnil.

Močnejše od 404 — strežnik eksplicitno ve, da je vir OBSTAJAL, vendar je bil trajno odstranjen. Iskalniki ga bodo izbrisali iz indeksa.

RFC 9110 ↗
411

Dolžina je potrebna

Strežnik zahteva glavo Content-Length.

Zahteva je bila zavrnjena, ker ni imela glave Content-Length in strežnik zavrača telesa neznane velikosti. Dodajte glavo in poskusite ponovno.

RFC 9110 ↗
412

Pogoj ni izpolnjen

Pogoj v glavah zahteve ni bil izpolnjen.

Vrača se, ko pogojne glave kot If-Match ali If-Unmodified-Since ne uspejo — običajno optimistično zaklučevanje: nekdo drug je spremenil vir od vaše različice. Ponovno pridobite in poskusite.

RFC 9110 ↗
413

Tovor je prevelik

Telo zahteve presega omejitev velikosti strežnika.

Pogosto pri nalaganju velikih datotek. Konfiguracija strežnika (nginx, apache) nastavi največjo velikost telesa. Preverite konfiguracijo strežnika.

RFC 9110 ↗
414

URI je predolg

Naslov URL zahteve presega omejitev dolžine strežnika.

Običajno povzročeno z zelo dolgimi nizi poizvedb (npr. kodiranje podatkov v GET). Preklopite na telo POST ali zvišajte omejitev strežnika, če ga nadzirujete.

RFC 9110 ↗
415

Vrsta medija ni podprta

Strežnik ne more obdelati pošljanega Content-Type.

Na primer pošiljanje application/xml strežniku, ki sprejema samo application/json. Pravilno nastavite glavo Content-Type.

RFC 9110 ↗
416

Obseg ni zadostljiv

Zahtevani razpon bajtov je zunaj velikosti vira.

Glava Range zahteva del datoteke, ki ga ta nima — npr. nadaljevanje prenosa za koncem datoteke. Odgovor bi moral vključevati Content-Range z dejansko velikostjo.

RFC 9110 ↗
417

Pričakovanje ni uspelo

Strežnik ne more izpolniti zahtev glave Expect.

Pošljano, ko strežnik ne podpira Expect: 100-continue. Nekateri odjemalci pošljejo to glavo privzeto pri velikih POST-ih; onemogočanje običajno razreši napako.

RFC 9110 ↗
418

Sem čajnik

Strežnik se noče kuhati kave, ker je čajnik.

Aprilska šala iz leta 1998 (RFC 2324). Nekateri pravi API-ji jo uporabljajo za šale ali označevanje zastaranih končnih točk. Ni za produkcijsko uporabo.

RFC 2324 ↗
421

Napačno naslovljena zahteva

Zahteva je bila poslana na strežnik, ki ne more narediti odgovora zanjo.

Pogosto pri ponovni uporabi povezave HTTP/2: zahteva je dosegla strežnik, ki ni konfiguriran za ciljni gostitelj. Odjemalec bi moral poskusiti znova na novi povezavi.

RFC 9110 ↗
422

Nepracovljiva vsebina

Zahteva je bila sintaksno pravilna, vendar semantično napačna.

Na primer JSON je bil pravilno razčlenjen, vendar je bilo obvezno polje izpuščeno, ali je bila vrednost polja izven obsega. Pogosto v odgovorih validacije REST API.

RFC 9110 ↗
423

Zaklučeno

Vir je zaklenjen.

WebDAV: vir vira ali cilja je zaklenjen drugega odjemalca, zato se operacija ne more nadaljevati. Počakajte, da se zaklučka sprosti ali ga preklopite s pravim žetonom.

RFC 4918 ↗
424

Neuspela odvisnost

Zahteva je spodletela, ker je prejšnja odvisna zahteva spodletela.

WebDAV: v verigi odvisnih operacij je prejšnje dejanje spodletelo, zato to ni bilo izvedeno. Pogledate prejšnjo napako za izvor problema.

RFC 4918 ↗
425

Prerano

Strežnik zavrača obdelavo zahteve, ki bi lahko bila ponovno predvajana.

Povezano s TLS 1.3 0-RTT (zgodnja podatkovna): strežnik ne bo tvegal obdelave mogoče ponovno predvajane zahteve. Odjemalec bi moral poskusiti znova po zaključku rokovanja.

RFC 8470 ↗
426

Nadgradnja je potrebna

Odjemalec se mora prebiti na drugačen protokol.

Strežnik zavrača posluživanje zahteve prek trenutnega protokola, vendar bo to storil po nadgradnji — odgovor vključuje glavo Upgrade, ki navaja zahtevani protokol.

RFC 9110 ↗
428

Pogoj je potreben

Strežnik zahteva, da je zahteva pogojena.

Strežnik zahteva pogojne glave (kot If-Match) za preprečevanje konfliktov izgubljenih posodobitev. Pridobite vir, zajemite njegov ETag in ponovno pošljite z If-Match.

RFC 6585 ↗
429

Preveč zahtev

Odjemalec je omejen s hitrostjo.

Upočasnite. Odgovor bi moral vključevati glavo Retry-After, ki označuje, kdaj ponovno poskusiti. Pogosto z API-ji, ki imajo kvote zahtev.

RFC 6585 ↗
431

Glavne polje zahteve so prevelika

Glave so prevelike, da bi jih strežnik obdelal.

Ali ena glava ali skupna velikost glave presega omejitev — najpogosteje povzročeno z velikimi piškotki. Izbrisati piškotke ali zmanjšati, kaj vaša aplikacija hrani v njih.

RFC 6585 ↗
451

Nedostopno iz pravnih razlogov

Dostop je zavrnjen zaradi pravnih zahtev.

Vir je blokiran iz pravnih razlogov — cenzura, odločbe sodišč ali regionalne uredbe. Številka se sklicuje na roman Fahrenheit 451.

RFC 7725 ↗
500

Notranja napaka strežnika

Strežnik je naletel na nepričakovan pogoj.

Splošna zajeta napaka za napake na strani strežnika. Preverite dnevnike strežnika za pravi vzrok: neobdelana izjema, napaka podatkovne zbirke itd.

RFC 9110 ↗
501

Ni implementirano

Strežnik ne podpira zahtevane funkcionalnosti.

Na primer strežnik ne prepozna metode HTTP. Redko v praksi — pogosteje boste videli 405.

RFC 9110 ↗
502

Slab prehod

Strežnik, ki deluje kot prehod, je dobil slab odgovor od nadrejenega strežnika.

Pogosto v arhitekturah mikro storitev. Vaš pravnalnik obremenitve ali obratni proxy je dobil napačen odgovor iz backend storitve.

RFC 9110 ↗
503

Storitev ni dostopna

Strežnik je začasno ne more obdelati zahteve.

Ali je izven funkcije za vzdrževanje ali preobremenjen. Odgovor bi moral vključevati glavo Retry-After. Pogosto vrnjeno med uvajanjem.

RFC 9110 ↗
504

Timeout prehoda

Strežnik prehoda je dosegel timeout pri čakanju na odgovor nadrejenega strežnika.

Backend storitev ni odgovorila dovolj hitro. Preverite zdravje nadrejene storitve in nastavitve časa čakanja.

RFC 9110 ↗
505

Različica HTTP ni podprta

Strežnik ne podpira različice HTTP, ki se uporablja v zahtevi.

Glavna različica HTTP zahteve ni podprta s strežnikom. Skoraj nikoli se ne vidi s sodobnimi odjemalci.

RFC 9110 ↗
506

Različica tudi pogaja

Strežnik ima napačno konfiguracijo pogajanja vsebine.

Pogajanje o vsebini je zaključilo v zanko: izbrana različica je sama konfigurirana za pogajanje. Označuje napako v konfiguraciji strežnika.

RFC 2295 ↗
507

Nezadostna shramba

Strežnik je zmanjkal prostora na disku.

Izvor WebDAV, vendar ga včasih uporabljajo splošni strežniki. Pomeni, da strežnik ne more shraniti zahteve zaradi omejitev shranjevanja.

RFC 4918 ↗
508

Zanka je zaznana

Strežnik je zaznal neskončno zanko med obdelavo zahteve.

WebDAV: obdelava zahteve Depth: infinity je vstopila v zanko (npr. krožne povezave). Operacija je bila prekinjena.

RFC 5842 ↗
510

Ni razširjeno

Potrebne so nadaljnje razširitve zahteve.

Iz zastaranega okvira razširitve HTTP: strežnik potrebuje več informacij, preden lahko izpolni zahtevo. Učinkovito neuporabljeno na sodobnem spletu.

RFC 2774 ↗
511

Avtentifikacija v omrežju je potrebna

Odjemalec se mora avtentificirati, da pridobi dostop do omrežja.

Uporabljeno s strani ujete portale (hotel/letališče WiFi) za označevanje, da se mora uporabnik prijaviti v omrežje, preden dostopa do zunanjih spletnih mest.

RFC 6585 ↗

Pogosta področja uporabe

  • Referenca za oblikovanje APIPri oblikovanju REST API izberite pravo statusno kodo za vsak odgovor.
  • Hitro poiščite kode napakKo vaša aplikacija vrne zmešano napako HTTP, poiščite, kaj to dejansko pomeni.
  • Naučite se statusa HTTP kodObsežna referenca za študente in razvijalce, ki se učijo HTTP in REST.
  • Hitra referenca med incidentiMed produkcijskim incidentom hitro poiščite, kaj pomeni vsak kod statusa.
  • Referenca za dokumentacijo APIPri pisanju dokumentacije API se povežite z avtoritativnimi opisi kodov stanja, ki jih vrnete.

Kako deluje

To orodje je odjemalska referenca, zgrajena okoli fiksno zakodirane iskalne tabele 63 statusnih kod HTTP, ki pokrivajo vseh pet razredov (1xx–5xx), vsaka označena s svojo definirajočo številko RFC. Ni klica strežnika, zunanjega API-ja in omrežne zahteve — vse filtriranje in prikaz poteka v brskalniku z uporabo vgrajenih metod JavaScripta za polja in nize.

  1. 1
    Iskalna tabela je naložena
    Celoten nabor 63 statusnih kod, registriranih pri IANA, je vgrajen neposredno v to orodje kot JavaScript polje, vsak vnos pa nosi številčno kodo, kanonično angleško ime, kategorijski razred in določeno RFC, ki jo definira (npr. RFC 9110 za večino kod HTTP/1.1, RFC 6585 za 429 Too Many Requests, RFC 2324 za 418 I'm a Teapot).
  2. 2
    Filter teče v pomnilniku
    Med tipkanjem ali izbiro filtra kategorije Array.filter JavaScripta teče na seznamu v pomnilniku in ujema vaš poizvedbo s številko statusne kode, kanoničnim imenom in obema kratkima in dolgima opisnima nizoma z uporabo String.includes — brez zakasnitve, brez povratnega potovanja na strežnik.
  3. 3
    Podrobnosti se razširijo s povezavo RFC
    Vsak rezultat se izriše kot element HTML details/summary. Razširitev vnosa razkrije podrobno razlago in neposredno povezavo do avtoritativne RFC na rfc-editor.org, tako da lahko preberete natančno besedilo specifikacije za katero koli kodo.
  4. 4
    Globoke povezave in kopiranje v odložišče
    Odpiranje vnosa posodobi hash URL na številko kode (npr. #404), s čimer stran postane deljiva in primerna za zaznamke. Gumb za kopiranje zapiše kanonični niz (npr. '404 Not Found') v odložišče prek API-ja navigator.clipboard brskalnika.

Sorodna orodja

Pogosto zastavljena vprašanja