Siirry pääsisältöön

HTTP-tilakoodeista viitteet ilmaiseksi

Haettava viite kaikille HTTP-tilakooodeille — mitä kukin tarkoittaa, milloin sitä käytetään ja yleiset syyt. Koodit 100–511.

Toimii offline-tilassa kerran ladattuna

61 statuskoodia

100

Jatka

Palvelin on vastaanottanut pyynnön otsikot ja asiakas voi jatkaa rungolla.

Käytetään pyynnöissä, joissa on Expect: 100-continue. Palvelin kuittaa olevansa valmis vastaanottamaan rungon ennen asiakkaan lähettämistä. Harvinainen nykyaikaisten verkkosovelluksissa.

RFC 9110 ↗
101

Protokollien vaihto

Palvelin vaihtaa protokollia asiakkaan pyytämällä tavalla.

Useimmiten käytetään WebSocket-päivityksiin — asiakas pyytää Upgrade: websocket ja palvelin vastaa 101:llä vaihtaakseen.

RFC 9110 ↗
102

Käsitellään

Palvelin on vastaanottanut pyynnön ja käsittelee sitä, mutta vastausta ei ole vielä saatavilla.

WebDAV-välitavoitepyyntö, joka lähetetään asiakkaan aikakatkaisujen estämiseksi pitkän toiminnon aikana. Vanhentunut — nykyaikaisten palvelimien ei tulisi lähettää sitä.

RFC 2518 ↗
103

Varhaiset vihjeet

Alustaiset otsikot ennen lopullista vastausta.

Antaa palvelimille mahdollisuuden lähettää Link-otsikot (preload/preconnect) lopullisen vastauksen ollessa vielä valmisteilla, jotta selaimet voivat alkaa noutaa kriittisiä resursseja nopeammin.

RFC 8297 ↗
200

OK

Pyyntö onnistui.

Normaali onnistumisen vastaus. Merkitys riippuu HTTP-menetelmästä: GET → resurssi palautetaan, POST/PUT → toiminto on suoritettu.

RFC 9110 ↗
201

Luotu

Uusi resurssi luotiin onnistuneesti.

Yleinen POST:n jälkeen. Vastaus sisältää Location-otsikon, joka osoittaa uuden resurssin URL-osoitteeseen.

RFC 9110 ↗
202

Hyväksytty

Pyyntö hyväksyttiin käsittelyä varten, mutta käsittely ei ole valmis.

Asynkronisissa toiminnoissa — palvelin jonottaa työtä. Asiakkaan tulee kysellä tilaa-päätepistettä tai tarkistaa myöhemmin.

RFC 9110 ↗
203

Ei-auktoritatiivinen tieto

Muuntava välityspalvelin muutti vastausta.

Pyyntö onnistui, mutta välimuistissa oleva tai muuntava välityspalvelin muutti runkoa alkuperäisen palvelimen versiosta — esimerkiksi kuvien uudelleenpakkaaminen. Harvinainen käytännössä.

RFC 9110 ↗
204

Ei sisältöä

Pyyntö onnistui, mutta vastaus ei sisällä runkoa.

Usein käytetään DELETE-toiminnoissa tai PUT-päivityksissä, joissa ei tarvitse palauttaa runkoa. Asiakas ei saa siirtyä pois nykyiseltä sivulta.

RFC 9110 ↗
205

Nollaa sisältö

Pyyntö onnistui; asiakkaan tulee nollata asiakirjan näkymä.

Kuten 204, runkoa ei palauteta — mutta asiakkaalle kerrotaan lisäksi nollata lomake tai näkymä, joka tuotti pyynnön (esim. tyhjennä lomakekentät seuraavaa merkintää varten).

RFC 9110 ↗
206

Osittainen sisältö

Palvelin toimitti vain osan resurssista.

Vastaus Range-pyyntöön. Käyttävät videotoistimet ja latausohjelmat keskeytyneiden latausten jatkamiseen tai suurten tiedostojen streamaamiseen.

RFC 9110 ↗
207

Usean tilan

Vastaus sisältää useita tilakoodeja useille toiminnoille.

WebDAV: XML-runko raporttoi useiden alatoimintojen tulokset itsenäisesti — esim. joukkosiirto, jossa jotkut kohteet onnistuivat ja toiset epäonnistuivat.

RFC 4918 ↗
208

Jo raportoitu

Kokoelman jäsenet luetteloitiin jo aiemmin vastauksessa.

WebDAV: käytetään 207 Multi-Status -vastausten sisällä välttääkseen kokoelman jäsenten toistuvan luettelon, kun sidokset luovat silmukoita.

RFC 5842 ↗
226

Käytetty IM

Vastaus on seurausta resurssiin sovelletuista instanssin manipulaatioista.

Deltaväli: palvelin palauttaa eron edelliseen versioon koko resurssin sijaan, säästäen kaistaa. Erittäin harvoin toteutettu.

RFC 3229 ↗
300

Useita valintoja

Resurssin useita esityksiä on saatavilla.

Palvelin tarjoaa useita vaihtoehtoja (esim. eri muotojen tai kielten) ja asiakas valitsee yhden. Harvoin käytetty, koska automaattinen sisällön neuvottelu yleensä hoitaa tämän.

RFC 9110 ↗
301

Siirretty pysyvästi

Resurssi on siirtynyt pysyvästi uudelle URL-osoitteelle.

Käytä pysyville URL-muutoksille — hakukoneet päivittävät indeksinsä. SEO-auktoriteetti siirtyy uudelle URL-osoitteelle.

RFC 9110 ↗
302

Löydetty (tilapäinen uudelleenohjaus)

Resurssi on väliaikaisesti eri URL-osoitteessa.

Ilmaisee, että uudelleenohjaus ei ole pysyvä. Välimuistitus on vähemmän aggressiivinen kuin 301. Käytä esim. 'kirjautuminen vaaditaan, ohjaus /login-sivulle'.

RFC 9110 ↗
303

Katso muuta

Uudelleenohjaus eri URL-osoitteeseen GET:n avulla.

Käytetään POST-lähetysten jälkeen — vastaus sanoo 'POST-pyyntösi toimi, katso tämä GET URL tuloksia varten'. Selaimet aina noutavat uuden URL-osoitteen.

RFC 9110 ↗
304

Ei muutettu

Välimuistin versio on edelleen kelvollinen; käytä sitä.

Vastaus ehdolliseen pyyntöön (If-None-Match- tai If-Modified-Since-otsikoilla). Säästää kaistaa — runkoa ei palauteta.

RFC 9110 ↗
307

Tilapäinen uudelleenohjaus

Kuten 302, mutta säilyttää alkuperäisen HTTP-menetelmän.

Jos alkuperäinen oli POST, uudelleenohjaus käyttää myös POST:ta. Nykyaikainen vaihtoehto 302:lle, kun menetelmän säilyttäminen on tärkeää.

RFC 9110 ↗
308

Pysyvä uudelleenohjaus

Kuten 301, mutta säilyttää alkuperäisen HTTP-menetelmän.

Nykyaikainen korvike 301:lle, kun haluat POST-pyyntöjen jäävän POST:ksi uudelleenohjauksen jälkeen.

RFC 9110 ↗
400

Virheellinen pyyntö

Palvelin ei voinut ymmärtää pyyntöä virheellisen syntaksin vuoksi.

Yleiset syyt: virheellinen JSON-runko, kelpottomat kyselyparametrit tai puuttuvat pakolliset kentät. Tarkista pyynnön runko ja otsikot.

RFC 9110 ↗
401

Ei valtuutettu

Todentaminen vaaditaan eikä sitä ole toimitettu.

Asiakkaan on sisällytettävä todentamisen valtuudet (Authorization-otsikko, eväste, merkki). 'Unauthorized' on väärä nimitys — se tarkoittaa todella 'todentamaton'.

RFC 9110 ↗
402

Maksu vaaditaan

Varattu tulevaa käyttöä varten — joskus käytetään maksettujen API-tasojen osalta.

Alun perin tarkoitettu digitaalisia maksuja varten. Nykyaikainen käyttö: API:t palauttavat joskus 402:n, kun käyttäjä on ylittänyt maksetun kiintiönsä.

RFC 9110 ↗
403

Kielletty

Asiakas on todentautunut, mutta hänellä ei ole oikeutta.

Eri kuin 401 — käyttäjä on KIRJAUTUNUT, mutta hänen tilillään ei ole oikeutta tälle resurssille. Tarkista rooli-/käyttöoikeudet logiikka.

RFC 9110 ↗
404

Ei löydy

Pyydettyä resurssia ei ole olemassa.

URL on väärä, resurssi poistettiin tai sitä ei koskaan ollut. Palvelimet joskus palauttavat 404:n piilottaakseen, että 403 olisi tarkempi.

RFC 9110 ↗
405

Menetelmä ei ole sallittu

Käytettyä HTTP-menetelmää ei sallita tälle resurssille.

Esimerkiksi GET-pyyntö päätteelle, joka hyväksyy vain POST:n. Vastauksen tulee sisältää Allow-otsikko, joka luettelee kelvolliset menetelmät.

RFC 9110 ↗
406

Ei hyväksyttävä

Mikään esitys ei vastaa asiakkaan Accept-otsikoita.

Asiakas pyysi sisältötyyppiä, kieltä tai koodausta (Accept-, Accept-Language-, Accept-Encoding-otsikkojen kautta), jota palvelin ei voi täyttää. Monet palvelimet ohittavat tiukan neuvottelun ja palauttavat oletusarvon.

RFC 9110 ↗
407

Välityspalvelimen todentaminen vaaditaan

Asiakkaan on ensin tunnistauduttava välityspalvelimelle.

Kuten 401, mutta välityspalvelimen antama: asiakkaan on lähetettävä Proxy-Authorization-valtuudet. Näkyy yritysverkkoissa, joissa on todentavia välityspalvelimia.

RFC 9110 ↗
408

Pyynnön aikakatkaisu

Palvelin aikakatkesi pyyntöä odottaessa.

Asiakas käytti liian kauan pyynnön runkoon lähettämiseen tai piti yhteyttä käyttämättömänä. Yritä pyyntöä uudelleen.

RFC 9110 ↗
409

Ristiriita

Pyyntö on ristiriidassa resurssin nykyisen tilan kanssa.

Yleensä palautetaan samanaikaisesti muokkausristiriitoihin tai päällekkäisen resurssin luomiseen (esim. käyttäjän luominen sähköpostilla, joka on jo olemassa).

RFC 9110 ↗
410

Poissa

Resurssi poistettiin eikä se palaa.

Vahvempi kuin 404 — palvelin tietää eksplisiittisesti, että resurssi KÄYTETTIIN aikaisemmin, mutta se on poistettu pysyvästi. Hakukoneet poistavat sen hakemistosta.

RFC 9110 ↗
411

Pituus vaaditaan

Palvelin vaatii Content-Length-otsikkoa.

Pyyntö hylättiin, koska siitä puuttui Content-Length-otsikko ja palvelin kieltäytyy tuntemattoman kokoisten runkojen käsittelemisestä. Lisää otsikko ja yritä uudelleen.

RFC 9110 ↗
412

Edellytys epäonnistui

Pyynnön otsikoiden ehto ei täyttynyt.

Palautetaan, kun ehdolliset otsikot, kuten If-Match tai If-Unmodified-Since epäonnistuvat — yleensä optimistinen lukitus: joku muu muutti resurssia sinun versiosta. Hae uudelleen ja yritä uudelleen.

RFC 9110 ↗
413

Kuorma liian suuri

Pyynnön runko ylittää palvelimen koon rajoituksen.

Yleinen suurten tiedostojen lataussilloin. Palvelimen määritys (nginx, apache) asettaa maksimaalisen rungon koon. Tarkista palvelimen asetukset.

RFC 9110 ↗
414

URI liian pitkä

Pyynnön URL ylittää palvelimen pituusrajoituksen.

Yleensä johtuu erittäin pitkistä kyselymerkkijonoista (esim. tietojen koodaaminen GET:iin). Vaihda POST-runkoon tai nosta palvelimen raja, jos hallitset sitä.

RFC 9110 ↗
415

Mediatyyppi ei tuettu

Palvelin ei voi käsitellä lähetettävää Content-Type:a.

Esimerkiksi application/xml lähettäminen palvelimelle, joka hyväksyy vain application/json:a. Aseta Content-Type-otsikko oikein.

RFC 9110 ↗
416

Alue ei ole saatavilla

Pyydetty tavualue on resurssin koon ulkopuolella.

Range-otsikko pyytää osaa, jota tiedostossa ei ole — esim. latauksen jatkaminen tiedoston lopun jälkeen. Vastauksen pitäisi sisältää Content-Range todellisen koon kanssa.

RFC 9110 ↗
417

Odotus epäonnistui

Palvelin ei voi täyttää Expect-otsikon vaatimuksia.

Lähetetään, kun palvelin ei tue Expect: 100-continue:a. Jotkin asiakkaat lähettävät tämän otsikon oletuksena suurissa POST:eissa; sen poistaminen yleensä ratkaisee virheen.

RFC 9110 ↗
418

Olen teepannu

Palvelin kieltäytyy keittämästä kahvia, koska se on teepannu.

Vuoden 1998 huhtikuun narri (RFC 2324). Jotkin todelliset API:t käyttävät sitä vitseille tai merkitsemään vanhentavia päätepisteitä. Ei tuotantokäyttöä.

RFC 2324 ↗
421

Väärin ohjattu pyyntö

Pyyntö lähetettiin palvelimelle, joka ei voi tuottaa vastausta siihen.

Yleinen HTTP/2-yhteyden uudelleenkäytössä: pyyntö saavutti palvelimen, joka ei ole määritetty kohteena olevalle isäntänimelle. Asiakkaan tulisi yrittää uudelleen uudella yhteydellä.

RFC 9110 ↗
422

Käsittelemätön sisältö

Pyyntö oli syntaksisesti kelvollinen, mutta semanttisesti väärä.

Esimerkiksi JSON jäsentyi oikein, mutta pakollinen kenttä puuttui, tai kentän arvo oli poissa alueesta. Yleinen REST API:n validointivastauksissa.

RFC 9110 ↗
423

Lukittu

Resurssi on lukittu.

WebDAV: lähde- tai kohderesuessi on lukittu toisen asiakkaan toimesta, joten toiminto ei voi jatkua. Odota, että lukitus vapautetaan, tai murtaudu siihen oikealla symbolilla.

RFC 4918 ↗
424

Epäonnistunut riippuvuus

Pyyntö epäonnistui, koska aikaisempi riippuva pyyntö epäonnistui.

WebDAV: riippuvaisten toimintojen ketjussa aikaisempi toiminto epäonnistui, joten tätä ei suoritettu. Etsi aikaisempaa epäonnistumista pääsyylle.

RFC 4918 ↗
425

Liian aikainen

Palvelin kieltäytyy käsittelemästä pyyntöä, joka saattaa toistua.

Liittyvät TLS 1.3 0-RTT:een (aikainen data): palvelin ei riskeeraa käsitellä mahdollisesti toistettua pyyntöä. Asiakkaan pitäisi yrittää uudelleen, kun kättelyketju on valmis.

RFC 8470 ↗
426

Päivitys vaaditaan

Asiakkaan on vaihdettava toiseen protokollaan.

Palvelin kieltäytyy palvelemasta pyyntöä nykyisen protokollan yli, mutta tekee niin päivityksen jälkeen — vastaus sisältää Upgrade-otsikon, joka nimeää vaaditun protokollan.

RFC 9110 ↗
428

Edellytys vaaditaan

Palvelin vaatii pyynnön olevan ehdollinen.

Palvelin vaatii ehdollisia otsikoita (kuten If-Match) estääkseen päivitysten häviämisen konfliktit. Hae resurssi, kaappaa sen ETag ja lähetä uudelleen If-Match:n kanssa.

RFC 6585 ↗
429

Liian monta pyyntöä

Asiakas on oikaistava nopeusrajoituksen alaiseksi.

Hidasta vauhtia. Vastauksen pitäisi sisältää Retry-After-otsikko, joka ilmoittaa, milloin yritetään uudelleen. Yleinen API:issa, joilla on pyynnön kiintiöt.

RFC 6585 ↗
431

Pyynnön otsikon kentät liian suuret

Otsikot ovat liian suuret palvelimelle käsiteltäviksi.

Joko yksi otsikko tai otsikkojen kokonaiskoko ylittää rajan — useimmiten johtuu liian suurista evästeistä. Tyhjennä evästeet tai vähennä mitä sovelluksesi tallentaa niihin.

RFC 6585 ↗
451

Ei saatavilla oikeudellisista syistä

Pääsy evätty juridisten vaatimusten vuoksi.

Resurssi on estetty juridisista syistä — sensuurista, oikeuden päätöksistä tai alueellisista säädöksistä. Numero viittaa romaaniin Fahrenheit 451.

RFC 7725 ↗
500

Sisäinen palvelinvirhe

Palvelin kohtasi odottamattoman ehdon.

Yleinen yleisvirheen keräysvirhe palvelimen virheistä. Tarkista palvelimen lokit todellisen syyn löytämiseksi: käsittelemätön poikkeus, tietokantavirhe jne.

RFC 9110 ↗
501

Ei toteutettu

Palvelin ei tue pyydettyä toimintoa.

Esimerkiksi palvelin ei tunnista HTTP-menetelmää. Harvinainen käytännössä — useammin näet 405:n.

RFC 9110 ↗
502

Huono yhdyskäytävä

Palvelin yhdyskäytävänä toimi sai huonon vastauksen palvelimelta.

Yleinen mikropalvelun arkkitehtuureissa. Kuormantasaaja tai käänteinen välityspalvelin sai huonon vastauksen palvelinpalvelusta.

RFC 9110 ↗
503

Palvelu ei ole saatavilla

Palvelin ei voi väliaikaisesti käsitellä pyyntöä.

Joko huollossa tai ylikuormitettu. Vastauksen pitäisi sisältää Retry-After-otsikko. Yleensä palautetaan käyttöönottamisessa.

RFC 9110 ↗
504

Yhdyskäytävän aikakatkaisu

Yhdyskäytävä aikakatkesi odottaessa palvelimen vastausta.

Taustaohjelmisto ei vastannut riittävän nopeasti. Tarkista palvelimen terveystila ja aikakatkaisu-asetukset.

RFC 9110 ↗
505

HTTP-versio ei tuettu

Palvelin ei tue pyynnössä käytettyä HTTP-versiota.

Pyynnön pääasiallista HTTP-versiota palvelin ei tue. Ei koskaan näkynyt modernien asiakkaiden kanssa.

RFC 9110 ↗
506

Muunnelma neuvottelee myös

Palvelimella on sisällön neuvottelun virheellinen määritys.

Läpinäkyvä sisällön neuvottelu päätyi silmukkaan: valittu muunnelma on itsessään määritetty neuvottelemaan. Osoittaa palvelimen määritysvirhettä.

RFC 2295 ↗
507

Riittämätön tallennus

Palvelimella on loppu levytilaa.

WebDAV-spesifinen alkuperä, mutta joskus yleisen palvelimen käyttämä. Tarkoittaa, että palvelin ei voi tallentaa pyyntöä tallennusrajoitusten vuoksi.

RFC 4918 ↗
508

Silmukka havaittiin

Palvelin havaitsi äärettömän silmukan käsitellessään pyyntöä.

WebDAV: Depth: infinity -pyynnön käsittely meni silmukkaan (esim. pyöreät sidokset). Toiminto lopetettiin.

RFC 5842 ↗
510

Ei laajennettu

Pyynnön jatkolaajennus tarvitaan.

Vanhentuneen HTTP-laajennuskehyksen ulkopuolelta: palvelin tarvitsee lisätietoja ennen kuin se voi täyttää pyynnön. Tehokkaasti käyttämätön nykyaikaisella verkolla.

RFC 2774 ↗
511

Verkon tunnistautuminen vaaditaan

Asiakas on tunnistauduttava verkkoyhteyttä varten.

Käytetään verkon portaalien (hotelli/lentoasema WiFi) toimesta ilmoittamaan, että käyttäjän on kirjauduttava verkkoon ennen ulkoisten sivustojen käyttämistä.

RFC 6585 ↗

Yleiset käyttötavat

  • Viittaus API-suunnitteluunREST API:ita suunniteltaessa valitse oikea tilakoodi jokaiselle vastaukselle.
  • Hae virhekoodeja nopeastiKun sovellus palauttaa hämmentävän HTTP-virheen, etsi mitä se tarkoittaa.
  • Opi HTTP-tilakooditKattava viittaus opiskelijoille ja kehittäjille, jotka oppivat HTTP:tä ja REST:iä.
  • Pikaviittaus poikkeamien aikanaTuotantopoikkeamien aikana etsi nopeasti mitä kukin tilakoodi tarkoittaa.
  • Viite API-dokumentaatioonKun kirjoitat API-dokumentaatiota, linkitä palautettavien tilaakoodien virallisiin kuvauksiin.

Miten se toimii

Tämä työkalu on asiakaspuolen viitetoteutus, joka on rakennettu kiinteästi koodatun 63 HTTP-tilakoodin hakutaulukon ympärille, kattaen kaikki viisi luokkaa (1xx–5xx), kunkin merkittynä sen määrittelevällä RFC-numerolla. Palvelinkutsua, ulkoista rajapintaa tai verkkopyyntöä ei ole — kaikki suodatus ja näyttö tapahtuu selaimessa JavaScriptin sisäänrakennetuilla taulukko- ja merkkijonometodeilla.

  1. 1
    Hakutaulukko ladattu
    Koko joukko 63 IANA-rekisteröityä tilakoodia on upotettu suoraan tähän työkaluun JavaScript-taulukkona, jokainen merkintä kantaen numeerisen koodin, kanonisen englanninkielisen nimen, luokkakategorian ja sen tarkan RFC:n, joka määrittelee sen (esim. RFC 9110 useimmille HTTP/1.1-koodeille, RFC 6585 koodille 429 Too Many Requests, RFC 2324 koodille 418 I'm a Teapot).
  2. 2
    Suodatus tapahtuu muistissa
    Kirjoittaessasi tai valitessasi kategoriasuodattimen JavaScriptin Array.filter ajetaan muistissa olevaan listaan, täsmäten kyselysi tilakoodinumeroon, kanoniseen nimeen sekä lyhyeen ja pitkään kuvausmerkkijonoon String.includes-funktiolla — ei viivettä, ei palvelinkierrosta.
  3. 3
    Yksityiskohdat laajenevat RFC-linkin kera
    Jokainen tulos piirretään HTML details/summary-elementtinä. Merkinnän laajentaminen paljastaa pitkän kuvauksen ja suoran linkin viralliseen RFC:hen rfc-editor.org-sivustolla, joten voit lukea tarkan spesifikaatiotekstin mille tahansa koodille.
  4. 4
    Syvälinkit ja leikepöydälle kopiointi
    Merkinnän avaaminen päivittää URL-hashin koodinumeroksi (esim. #404), tehden sivusta jaettavan ja kirjanmerkkiystävällisen. Kopioi-painike kirjoittaa kanonisen merkkijonon (esim. '404 Not Found') leikepöydälle selaimen navigator.clipboard-rajapinnan kautta.

Liittyvät työkalut

Usein kysytyt kysymykset