Hopp til hovedinnhold
LibraTool logoLibraTool

Gratis HTTP-statuskoder-referanse

Søkbar referanse for alle HTTP-statuskoder — hva hver betyr, når den brukes og vanlige årsaker. Fra 100 til 511.

Fungerer uten nett når den er lastet

61 statuskoder

100

Fortsett

Serveren har mottatt forespørselshoder og klienten bør fortsette med hovedteksten.

Brukes for forespørsler med Expect: 100-continue. Serveren bekrefter at den er villig til å motta hovedteksten før klienten sender den. Sjelden sett i moderne webapper.

RFC 9110 ↗
101

Bytter protokoller

Serveren bytter protokoller som forespurt av klienten.

Brukes oftest for WebSocket-oppgraderinger — klienten ber om Upgrade: websocket og serveren svarer 101 for å bytte.

RFC 9110 ↗
102

Behandles

Serveren har mottatt forespørselen og behandler den, men ingen respons er tilgjengelig ennå.

En WebDAV-mellomrespons sendt for å forhindre klienttidsavbrudd under lange operasjoner. Utdatert — moderne servere bør ikke sende den.

RFC 2518 ↗
103

Tidlige tips

Foreløpige hoder sendt før det endelige svaret.

Lar servere sende Link-hoder (forinnlasting/forhåndstilkobling) mens det endelige svaret fortsatt blir forberedt, slik at nettlesere kan begynne å hente kritiske ressurser tidligere.

RFC 8297 ↗
200

OK

Forespørselen var vellykket.

Det standard vellykkede svaret. Betydningen avhenger av HTTP-metoden: GET → ressurs returnert, POST/PUT → handling fullført.

RFC 9110 ↗
201

Opprettet

En ny ressurs ble opprettet.

Vanlig etter en POST. Svaret bør inneholde en Location-header som peker til URL-en til den nye ressursen.

RFC 9110 ↗
202

Godtatt

Forespørselen ble godtatt for behandling, men behandling er ikke fullført.

For asynkrone operasjoner — serveren står i kø med arbeidet. Klienten bør undersøke et statusendepunkt eller sjekke tilbake senere.

RFC 9110 ↗
203

Ikke-autentisk informasjon

Svaret ble endret av en transformeringsproxy.

Forespørselen var vellykket, men en mellommann (for eksempel en hurtigbuffer- eller transformeringsproxy) endret nyttelasten fra opprinnelsesserveren — for eksempel rekomprimering av bilder. Sjelden i praksis.

RFC 9110 ↗
204

Ingen innhold

Forespørselen var vellykket, men det er ingen svarbrødtekst.

Brukes ofte for DELETE-operasjoner eller PUT-oppdateringer som ikke trenger å returnere en hovedtekst. Klienten bør ikke navigere bort fra gjeldende side.

RFC 9110 ↗
205

Tilbakestill innhold

Forespørselen var vellykket; klienten bør tilbakestille dokumentvisningen.

Som 204, ingen brødtekst returneres — men klienten får i tillegg beskjed om å tilbakestille skjemaet eller visningen som produserte forespørselen (f.eks. tømme skjemafelter for neste oppføring).

RFC 9110 ↗
206

Delvis innhold

Serveren leverte bare en del av ressursen.

Svar på en Range-forespørsel. Brukes av videoavspillere og nedlastingshåndterere til å gjenoppta avbrutte nedlastinger eller strømme store filer.

RFC 9110 ↗
207

Multi-status

Svarbrødteksten inneholder flere statuskoder for flere operasjoner.

WebDAV: en XML-brødtekst rapporterer resultatet av flere underoperasjoner uavhengig — f.eks. et batch-move der noen elementer lyktes og andre mislyktes.

RFC 4918 ↗
208

Allerede rapportert

Medlemmene av en samling ble allerede oppført tidligere i svaret.

WebDAV: brukes inne i 207 Multi-Status-respons for å unngå å gjenta listen over medlemmer av samme samling når bindinger lager løkker.

RFC 5842 ↗
226

IM brukt

Svaret er resultatet av instansmanipulasjoner brukt på ressursen.

Deltakodering: serveren returnerer en diff mot en tidligere versjon i stedet for hele ressursen, noe som sparer båndbredde. Veldig sjelden implementert.

RFC 3229 ↗
300

Flere valg

Flere representasjoner av ressursen er tilgjengelige.

Serveren tilbyr flere alternativer (f.eks. forskjellige formater eller språk) og klienten bør velge ett. Sjelden brukt, fordi automatisk innholdsforhandling håndterer vanligvis dette.

RFC 9110 ↗
301

Flyttet permanent

Ressursen har permanent flyttet til en ny URL.

Bruk for permanente URL-endringer — søkemotorer vil oppdatere sin indeks. SEO-autoritet overføres til den nye URL-en.

RFC 9110 ↗
302

Funnet (midlertidig omdirigering)

Ressursen er midlertidig på en annen URL.

Indikerer at omdirigeringen ikke er permanent. Caching er mindre aggressiv enn 301. Bruk for ting som 'pålogging kreves, omdirigering til /login'.

RFC 9110 ↗
303

Se annet

Omdirigering til en annen URL med GET.

Brukt etter POST-innsendinger — svaret sier 'din POST fungerte, se denne GET-URL-en for resultatet'. Nettlesere får alltid en GET til den nye URL-en.

RFC 9110 ↗
304

Ikke endret

Den hurtiglagrede versjonen er fortsatt gyldig; bruk den.

Svar på en betinget forespørsel (med If-None-Match eller If-Modified-Since-hoder). Sparer båndbredde — ingen brødtekst returneres.

RFC 9110 ↗
307

Midlertidig omdirigering

Som 302, men bevarer den opprinnelige HTTP-metoden.

Hvis originalen var POST, bruker omdirigeringen også POST. Moderne alternativ til 302 når metodebevaring betyr noe.

RFC 9110 ↗
308

Permanent omdirigering

Som 301, men bevarer den opprinnelige HTTP-metoden.

Moderne erstatning for 301 når du vil at POST-forespørsler skal forbli POST etter omdirigeringen.

RFC 9110 ↗
400

Dårlig forespørsel

Serveren kunne ikke forstå forespørselen på grunn av dårlig formatert syntaks.

Vanlige årsaker: dårlig formatert JSON i brødteksten, ugyldige spørreparametere eller manglende påkrevde felt. Sjekk forespørselsteksten og hoderne.

RFC 9110 ↗
401

Uautorisert

Autentisering er påkrevd og har ikke blitt levert.

Klienten må inkludere autentiseringslegitimasjon (Authorization-header, informasjonskapsel, token). 'Unauthorized' er et feilnavn — det betyr egentlig 'ikke autentisert'.

RFC 9110 ↗
402

Betaling påkrevd

Reservert for fremtidig bruk — noen ganger brukt for betalte API-lag.

Opprinnelig tiltenkt for digitale betalinger. Moderne bruk: APIer returnerer noen ganger 402 når en bruker har overskredet sin betalte kvote.

RFC 9110 ↗
403

Forbudt

Klienten er autentisert, men har ikke tillatelse.

Ulikt 401 — brukeren ER logget inn, men kontoen har ikke tillatelse til denne ressursen. Sjekk logikken for roller/tillatelser.

RFC 9110 ↗
404

Ikke funnet

Den forespurte ressursen finnes ikke.

Enten er URL-en gal, ressursen ble slettet, eller den fantes aldri. Servere returnerer noen ganger 404 for å skjule at 403 ville være mer nøyaktig.

RFC 9110 ↗
405

Metode ikke tillatt

HTTP-metoden som ble brukt, er ikke tillatt for denne ressursen.

For eksempel en GET-forespørsel til et endepunkt som bare godtar POST. Svaret bør inneholde en Allow-header som lister opp gyldige metoder.

RFC 9110 ↗
406

Ikke akseptabelt

Ingen representasjon samsvarer med klientens Accept-hoder.

Klienten spurte om en innholdstype, språk eller koding (via Accept, Accept-Language, Accept-Encoding) som serveren ikke kan oppfylle. Mange servere hopper over streng forhandling og returnerer en standard i stedet.

RFC 9110 ↗
407

Proxy-autentisering påkrevd

Klienten må autentisere med proxyen først.

Som 401, men utstedt av en proxy: klienten må sende Proxy-Authorization-legitimasjon. Sett på bedriftsnettverk med autentiserende proxies.

RFC 9110 ↗
408

Forespørsel utløpt

Serveren fikk tidsavbrudd mens den ventet på forespørselen.

Klienten brukte for lang tid på å sende forespørselsteksten eller holdt forbindelsen inaktiv. Prøv forespørselen på nytt.

RFC 9110 ↗
409

Konflikt

Forespørselen er i konflikt med ressursens nåværende tilstand.

Returneres vanligvis ved konflikter ved samtidig redigering eller ved oppretting av duplikate ressurser (f.eks. oppretting av bruker med en e-postadresse som allerede finnes).

RFC 9110 ↗
410

Slettet

Ressursen ble slettet og kommer ikke tilbake.

Sterkere enn 404 — serveren vet eksplisitt at ressursen BRUKTE å finnes, men har blitt permanent fjernet. Søkemotorer vil fjerne den fra indeksen.

RFC 9110 ↗
411

Lengde påkrevd

Serveren krever en Content-Length-header.

Forespørselen ble avvist fordi den manglet en Content-Length-header, og serveren nekter forespørselstekster med ukjent størrelse. Legg til headeren og prøv på nytt.

RFC 9110 ↗
412

Betingelse mislyktes

En betingelse i forespørselens headers var ikke oppfylt.

Returneres når betingede headers som If-Match eller If-Unmodified-Since mislykkes — vanligvis optimistisk låsing: noen andre endret ressursen siden versjonen din. Hent på nytt og prøv på nytt.

RFC 9110 ↗
413

Nyttelast for stor

Forespørselsteksten overskrider serveren sin størrelsesbegrensning.

Vanlig når du laster opp store filer. Serverkonfigurasjonen (nginx, apache) angir en maksimal størrelse på forespørselsteksten. Kontroller serverens konfigurasjon.

RFC 9110 ↗
414

URI for lang

Forespørsels-URL-en overskrider serveren sin lengdebegrensning.

Vanligvis forårsaket av svært lange spørringstekster (f.eks. koding av data i en GET). Bytt til en POST-tekst, eller øk serveren sin grense hvis du kontrollerer den.

RFC 9110 ↗
415

Medietypen støttes ikke

Serveren kan ikke håndtere Content-Type som ble sendt.

For eksempel å sende application/xml til en server som bare godtar application/json. Still inn Content-Type-headeren riktig.

RFC 9110 ↗
416

Område ikke tilfredsstilt

Det forespurte byteområdet ligger utenfor ressursens størrelse.

Range-headeren ber om en del som filen ikke har — f.eks. gjenopptaking av en nedlasting etter slutten av filen. Svaret skal inkludere Content-Range med den faktiske størrelsen.

RFC 9110 ↗
417

Forventning mislyktes

Serveren kan ikke oppfylle kravene i Expect-headeren.

Sendt når serveren ikke støtter Expect: 100-continue. Noen klienter sender denne headeren som standard på store POSTs; deaktivering av den løser vanligvis problemet.

RFC 9110 ↗
418

Jeg er en tekanne

Serveren nekter å brygge kaffe fordi den er en tekanne.

En aprilspøk fra 1998 (RFC 2324). Noen virkelige APIer bruker det for vitser eller for å markere utgåtte endepunkter. Ikke for produksjonsbruk.

RFC 2324 ↗
421

Feilrettet forespørsel

Forespørselen ble sendt til en server som ikke kan produsere et svar for den.

Vanlig med HTTP/2-forbindelsesgjenbruk: forespørselen nådde en server som ikke er konfigurert for målvertsnavnet. Klienten skal prøve på nytt på en ny forbindelse.

RFC 9110 ↗
422

Innhold som ikke kan behandles

Forespørselen var syntaktisk gyldig, men semantisk feil.

For eksempel at JSON ble tolket korrekt, men et obligatorisk felt manglet, eller en feltverdi var utenfor området. Vanlig i valideringsresponser for REST API.

RFC 9110 ↗
423

Låst

Ressursen er låst.

WebDAV: kilde- eller målressursen er låst av en annen klient, så operasjonen kan ikke fortsette. Vent til låsen frigjøres eller bryt den med det rette tokenet.

RFC 4918 ↗
424

Avhengighet mislyktes

Forespørselen mislyktes fordi en tidligere avhengig forespørsel mislyktes.

WebDAV: i en kjede av avhengige operasjoner mislyktes en tidligere handling, så denne ble ikke utført. Se på den tidligere feilen for rotårsaken.

RFC 4918 ↗
425

For tidlig

Serveren nekter å behandle en forespørsel som kan være gjentatt.

Relatert til TLS 1.3 0-RTT (tidlig data): serveren vil ikke risikere å behandle en forespørsel som muligens er gjentatt. Klienten skal prøve på nytt etter at handshake er fullført.

RFC 8470 ↗
426

Oppgradering påkrevd

Klienten må bytte til en annen protokoll.

Serveren nekter å betjene forespørselen over den nåværende protokollen, men vil gjøre det etter oppgradering — svaret inkluderer en Upgrade-header som angir den påkrevde protokollen.

RFC 9110 ↗
428

Betingelse påkrevd

Serveren krever at forespørselen er betinget.

Serveren krever betingede headers (som If-Match) for å forhindre tapt-oppdaterings-konflikter. Hent ressursen, registrer dens ETag, og send på nytt med If-Match.

RFC 6585 ↗
429

For mange forespørsler

Klienten blir hastighetsbegrenset.

Senk tempoet. Svaret skal inkludere en Retry-After-header som angir når du skal prøve igjen. Vanlig med APIer som har forespørselskvoter.

RFC 6585 ↗
431

Forespørselshodefelter for store

Headere er for store for at serveren skal behandle dem.

Enten en header eller den totale headerstørrelsen overskrider grensen — oftest forårsaket av for store informasjonskapsler. Tøm informasjonskapslene eller reduser hva appen din lagrer i dem.

RFC 6585 ↗
451

Utilgjengelig av juridiske årsaker

Tilgang nektet på grunn av juridiske krav.

Ressursen er blokkert av juridiske årsaker — sensur, domstolsbeslutninger eller regionale bestemmelser. Nummeret er en referanse til romanen Fahrenheit 451.

RFC 7725 ↗
500

Intern serverfeil

Serveren møtte en uventet tilstand.

En generisk fangst for serverfeil. Sjekk serverloggene for den faktiske årsaken: uhåndtert unntak, databasefeil, osv.

RFC 9110 ↗
501

Ikke implementert

Serveren støtter ikke den forespurte funksjonaliteten.

For eksempel gjenkjenner serveren ikke HTTP-metoden. Sjelden i praksis — oftere vil du se 405.

RFC 9110 ↗
502

Dårlig gateway

Serveren, som fungerer som en gateway, fikk en dårlig respons fra en oppstrømsserver.

Vanlig i mikrotjenestearkitekturer. Din lastbalanser eller omvendt proxy fikk en malformet respons fra tjenesten i bakgrunnen.

RFC 9110 ↗
503

Tjeneste ikke tilgjengelig

Serveren kan for øyeblikket ikke håndtere forespørselen.

Enten nede for vedlikehold eller overbelastet. Svaret skal inkludere en Retry-After-header. Ofte returnert under distribusjoner.

RFC 9110 ↗
504

Gateway-tidsavbrudd

Gateway-serveren fikk tidsavbrudd mens den ventet på oppstrømsrespons.

Tjenesten i bakgrunnen responderte ikke raskt nok. Kontroller helsen på oppstrømstjenesten og timeout-konfigurasjoner.

RFC 9110 ↗
505

HTTP-versjon støttes ikke

Serveren støtter ikke HTTP-versjonen som ble brukt i forespørselen.

Hovedversjonen av HTTP for forespørselen støttes ikke av serveren. Nesten aldri sett med moderne klienter.

RFC 9110 ↗
506

Variant forhandler også

Serveren har en feilkonfigurasjon i innholdsforhandlingen.

Transparent innholdsforhandling endte i en løkke: den valgte varianten er selv konfigurert til å forhandle. Indikerer en serverkonfigureringsfeil.

RFC 2295 ↗
507

Utilstrekkelig lagring

Serveren er tom for diskplass.

WebDAV-spesifikk i opprinnelse, men brukes noen ganger av generelle servere. Betyr at serveren ikke kan lagre forespørselen på grunn av lagerbegrensninger.

RFC 4918 ↗
508

Løkke oppdaget

Serveren oppdaget en uendelig løkke under behandlingen av forespørselen.

WebDAV: behandling av en Depth: infinity forespørsel gikk inn i en løkke (f.eks. sirkulære bindinger). Operasjonen ble avsluttet.

RFC 5842 ↗
510

Ikke utvidet

Ytterligere utvidelser til forespørselen er påkrevd.

Fra det foreldede HTTP Extension Framework: serveren trenger mer informasjon før den kan oppfylle forespørselen. Effektivt ubrukt på det moderne nettet.

RFC 2774 ↗
511

Nettverksautentisering påkrevd

Klienten må autentisere for å få nettverkstilgang.

Brukt av captive portals (hotell/lufthavn WiFi) for å indikere at brukeren må logge inn på nettverket før tilgang til eksterne nettsteder.

RFC 6585 ↗

Vanlige bruksområder

  • Referanse for API-designNår du designer REST API-er, velg riktig statuskode for hvert svar.
  • Slå opp feilkoder rasktNår appen din returnerer en forvirrende HTTP-feil, slå opp hva det faktisk betyr.
  • Lær HTTP-statuskoderOmfattende referanse for elever og utviklere som lærer HTTP og REST.
  • Rask referanse under hendelserUnder produksjonshendelser, slå raskt opp hva hver statuskode betyr.
  • Referanse for API-dokumentasjonNår du skriver API-dokumentasjon, kobler til autoritative beskrivelser av statuskodene du returnerer.

Hvordan det fungerer

Verktøyet er et oppslagsverk på klientsiden bygget rundt en fast tabell med 63 HTTP-statuskoder fra alle fem klassene (1xx–5xx), hver merket med RFC-nummeret som definerer den. Ingen serverkall, intet eksternt API og ingen nettverksforespørsel — all filtrering og visning skjer i nettleseren med JavaScripts innebygde matrise- og strengmetoder.

  1. 1
    Oppslagstabellen lastes
    Hele settet med 63 IANA-registrerte statuskoder er bygget direkte inn i verktøyet som en JavaScript-matrise, der hver oppføring har tallkoden, det kanoniske engelske navnet, kategorien og RFC-en som definerer den (f.eks. RFC 9110 for de fleste HTTP/1.1-koder, RFC 6585 for 429 Too Many Requests, RFC 2324 for 418 I'm a Teapot).
  2. 2
    Filtreringen kjører i minnet
    Mens du skriver eller velger et kategorifilter, kjører JavaScripts Array.filter på listen i minnet og sammenligner søket med statuskoden, det kanoniske navnet og både den korte og lange beskrivelsen via String.includes — uten forsinkelse og uten tur til serveren.
  3. 3
    Detaljene utvides med RFC-lenke
    Hvert resultat vises som et HTML details/summary-element. Når du utvider en oppføring, vises den lange forklaringen og en direkte lenke til den autoritative RFC-en på rfc-editor.org, så du kan lese nøyaktig spesifikasjonstekst for hver kode.
  4. 4
    Direkte lenker og kopiering til utklippstavlen
    Når du åpner en oppføring, oppdateres URL-hashen til kodenummeret (f.eks. #404), så siden kan deles og bokmerkes. Kopieringsknappen skriver den kanoniske strengen (f.eks. '404 Not Found') til utklippstavlen via nettleserens navigator.clipboard-API.

Relaterte verktøy

Ofte stilte spørsmål