Gratis HTTP-statuskoder, referens
Sökbar referens för alla HTTP-statuskoder — vad var och en betyder, när den används och vanliga orsaker. Från 100 till 511.
61 statuskoder
100Fortsätt
Servern har mottagit förfrågningsrubrikerna och klienten bör fortsätta med brödtexten.
Fortsätt
Servern har mottagit förfrågningsrubrikerna och klienten bör fortsätta med brödtexten.
Används för förfrågningar med Expect: 100-continue. Servern bekräftar att den är villig att ta emot brödtexten innan klienten skickar den. Sällan förekommande i moderna webbappar.
101Byter protokoll
Servern byter protokoll enligt klientens begäran.
Byter protokoll
Servern byter protokoll enligt klientens begäran.
Mest använd för WebSocket-uppgraderingar — klienten begär Upgrade: websocket och servern svarar 101 för att växla.
102Bearbetar
Servern har mottagit förfrågan och bearbetar den, men inget svar är tillgängligt än.
Bearbetar
Servern har mottagit förfrågan och bearbetar den, men inget svar är tillgängligt än.
Ett WebDAV-interimssvar som skickas för att förhindra timeout på klienten under långa operationer. Föråldrad — moderna servrar bör inte skicka den.
103Tidiga tips
Preliminära rubriker skickades före det slutgiltiga svaret.
Tidiga tips
Preliminära rubriker skickades före det slutgiltiga svaret.
Låter servrar skicka Link-rubriker (preload/preconnect) medan det slutgiltiga svaret fortfarande förbereds, så webbläsare kan börja hämta kritiska tillgångar tidigare.
200OK
Förfrågan lyckades.
OK
Förfrågan lyckades.
Standardsvaret vid framgång. Betydelsen beror på HTTP-metoden: GET → resurs returnerad, POST/PUT → åtgärd slutförd.
201Skapad
En ny resurs skapades framgångsrikt.
Skapad
En ny resurs skapades framgångsrikt.
Vanligt efter en POST. Svaret bör innehålla en Location-rubrik som pekar på den nya resursens URL.
202Accepterad
Förfrågan accepterades för bearbetning, men bearbetningen är inte slutförd.
Accepterad
Förfrågan accepterades för bearbetning, men bearbetningen är inte slutförd.
För asynkrona operationer — servern köar arbetet. Klienten bör avfråga en statusslutpunkt eller återkomma senare.
203Icke-auktoritativ information
Svaret ändrades av en transformeringsproxy.
Icke-auktoritativ information
Svaret ändrades av en transformeringsproxy.
Förfrågan lyckades, men en mellanhand (såsom en cache- eller transformeringsproxy) ändrade nyttolasten från ursprungsservern — till exempel omkomprimering av bilder. Sällsynt i praktiken.
204Inget innehåll
Förfrågan lyckades men det finns ingen svarsbrödtext.
Inget innehåll
Förfrågan lyckades men det finns ingen svarsbrödtext.
Ofta använd för DELETE-operationer eller PUT-uppdateringar som inte behöver returnera en brödtext. Klienten bör inte navigera bort från den aktuella sidan.
205Återställ innehåll
Förfrågan lyckades; klienten bör återställa dokumentvyn.
Återställ innehåll
Förfrågan lyckades; klienten bör återställa dokumentvyn.
Liksom 204 returneras ingen brödtext — men klienten får också besked om att återställa formuläret eller vyn som producerade förfrågan (t.ex. rensa formulärfälten för nästa post).
206Delvis innehåll
Servern levererade endast en del av resursen.
Delvis innehåll
Servern levererade endast en del av resursen.
Svar på en Range-förfrågan. Används av videospelare och nedladdningshanterare för att återuppta avbrutna nedladdningar eller strömma stora filer.
207Multistatus
Svarskroppen innehåller flera statuskoder för flera operationer.
Multistatus
Svarskroppen innehåller flera statuskoder för flera operationer.
WebDAV: en XML-brödtext rapporterar resultatet av flera deloperationer oberoende av varandra — t.ex. en batchflyttning där vissa objekt lyckades och andra misslyckades.
208Redan rapporterad
Medlemmarna i en samling listades redan tidigare i svaret.
Redan rapporterad
Medlemmarna i en samling listades redan tidigare i svaret.
WebDAV: använt inuti 207 Multi-Status-svar för att undvika att upprepa medlemmar av samma samling när bindningar skapar loopar.
226IM använd
Svaret är resultatet av instansmanipulationer tillämpade på resursen.
IM använd
Svaret är resultatet av instansmanipulationer tillämpade på resursen.
Delta-kodning: servern returnerar en diff mot en tidigare version istället för hela resursen, sparar bandbredd. Mycket sällan implementerad.
300Flera val
Flera representationer av resursen är tillgängliga.
Flera val
Flera representationer av resursen är tillgängliga.
Servern erbjuder flera alternativ (t.ex. olika format eller språk) och klienten bör välja ett. Sällan använd, eftersom automatisk innehållsförhandling vanligtvis hanterar detta.
301Flyttad permanent
Resursen har permanent flyttats till en ny URL.
Flyttad permanent
Resursen har permanent flyttats till en ny URL.
Använd för permanenta URL-ändringar — sökmotorer uppdaterar sitt index. SEO-auktoritet överförs till den nya URL:en.
302Hittad (tillfällig omdirigering)
Resursen är tillfälligt på en annan URL.
Hittad (tillfällig omdirigering)
Resursen är tillfälligt på en annan URL.
Anger att omdirigeringen inte är permanent. Cachning är mindre aggressiv än 301. Använd för saker som 'inloggning krävs, omdirigerar till /login'.
303Se annan
Omdirigera till en annan URL med GET.
Se annan
Omdirigera till en annan URL med GET.
Använt efter POST-inskickning — svaret säger 'din POST fungerade, se denna GET-URL för resultatet'. Webbläsare hämtar alltid den nya URL:en.
304Inte ändrad
Den cachade versionen är fortfarande giltig; använd den.
Inte ändrad
Den cachade versionen är fortfarande giltig; använd den.
Svar på en villkorad förfrågan (med If-None-Match eller If-Modified-Since-rubriker). Sparar bandbredd — ingen brödtext returneras.
307Tillfällig omdirigering
Som 302 men bevarar den ursprungliga HTTP-metoden.
Tillfällig omdirigering
Som 302 men bevarar den ursprungliga HTTP-metoden.
Om originalet var POST, använder omdirigeringen också POST. Modernt alternativ till 302 när metodbevarande är viktigt.
308Permanent omdirigering
Som 301 men bevarar den ursprungliga HTTP-metoden.
Permanent omdirigering
Som 301 men bevarar den ursprungliga HTTP-metoden.
Modernt ersättande för 301 när du vill att POST-förfrågningar förblir POST efter omdirigeringen.
400Dålig förfrågan
Servern kunde inte förstå förfrågan på grund av felaktig syntax.
Dålig förfrågan
Servern kunde inte förstå förfrågan på grund av felaktig syntax.
Vanliga orsaker: felformat JSON i brödtext, ogiltiga frågeparametrar eller saknade obligatoriska fält. Kontrollera förfrågningsbrödtext och rubriker.
401Obehörig
Autentisering krävs och har inte tillhandahållits.
Obehörig
Autentisering krävs och har inte tillhandahållits.
Klienten måste inkludera autentiseringsuppgifter (Authorization-rubrik, cookie, token). 'Unauthorized' är en feltolkning — det betyder egentligen 'oautentiserad'.
402Betalning krävs
Reserverad för framtida användning — ibland använd för betalda API-nivåer.
Betalning krävs
Reserverad för framtida användning — ibland använd för betalda API-nivåer.
Ursprungligen avsett för digitala betalningar. Modern användning: API:er returnerar ibland 402 när en användare har överskridit sin betalda kvot.
403Förbjuden
Klienten är autentiserad men har inte behörighet.
Förbjuden
Klienten är autentiserad men har inte behörighet.
Annorlunda från 401 — användaren ÄR inloggad, men deras konto har inte behörighet för denna resurs. Kontrollera roll-/behörighetslogik.
404Hittades inte
Den begärda resursen existerar inte.
Hittades inte
Den begärda resursen existerar inte.
Antingen är URL:en fel, resursen togs bort eller den existerade aldrig. Servrar returnerar ibland 404 för att dölja att 403 skulle vara mer korrekt.
405Metod inte tillåten
HTTP-metoden som användes är inte tillåten för denna resurs.
Metod inte tillåten
HTTP-metoden som användes är inte tillåten för denna resurs.
Till exempel en GET-förfrågan till en slutpunkt som bara accepterar POST. Svaret bör innehålla en Allow-rubrik som listar giltiga metoder.
406Inte acceptabel
Ingen representation motsvarar klientens Accept-rubriker.
Inte acceptabel
Ingen representation motsvarar klientens Accept-rubriker.
Klienten begärde en innehållstyp, språk eller kodning (via Accept, Accept-Language, Accept-Encoding) som servern inte kan uppfylla. Många servrar hoppar över streng förhandling och returnerar en standard istället.
407Proxyautentisering krävs
Klienten måste autentisera sig med proxyn först.
Proxyautentisering krävs
Klienten måste autentisera sig med proxyn först.
Liksom 401, men utfärdat av en proxy: klienten måste skicka Proxy-Authorization-uppgifter. Sett på företagsnätverk med autentiserande proxyservrar.
408Timeout för begäran
Servern avbröt tiden när den väntade på begäran.
Timeout för begäran
Servern avbröt tiden när den väntade på begäran.
Klienten tog för lång tid på sig att skicka begärandetexten eller höll anslutningen inaktiv. Försök igen.
409Konflikt
Begäran står i konflikt med resursens aktuella tillstånd.
Konflikt
Begäran står i konflikt med resursens aktuella tillstånd.
Returneras vanligtvis för konflikter vid samtidig redigering eller dubblering av resurser (t.ex. att skapa en användare med en e-postadress som redan finns).
410Borta
Resursen togs bort och kommer inte att återkomma.
Borta
Resursen togs bort och kommer inte att återkomma.
Starkare än 404 — servern vet uttryckligen att resursen FANNS men har tagits bort permanent. Sökmotorer avindexerar den.
411Längd krävs
Servern kräver en Content-Length-header.
Längd krävs
Servern kräver en Content-Length-header.
Begäran avvisades eftersom den saknade en Content-Length-header och servern vägrar att acceptera brödtexter med okänd storlek. Lägg till headern och försök igen.
412Förutsättning misslyckades
Ett villkor i begärans headers uppfylldes inte.
Förutsättning misslyckades
Ett villkor i begärans headers uppfylldes inte.
Returneras när villkorliga headers som If-Match eller If-Unmodified-Since misslyckas — vanligtvis optimistisk låsning: någon annan ändrade resursen sedan din version. Hämta igen och försök på nytt.
413Nyttolasten är för stor
Begärandetexten överskrider serverns storleksgräns.
Nyttolasten är för stor
Begärandetexten överskrider serverns storleksgräns.
Vanligt när stora filer laddas upp. Serverkonfiguration (nginx, apache) ställer in en maximal storlek på brödtexten. Kontrollera serverns konfiguration.
414URL för lång
Begärans URL överskrider serverns längdgräns.
URL för lång
Begärans URL överskrider serverns längdgräns.
Vanligtvis orsakad av mycket långa frågesträngar (t.ex. kodning av data i en GET). Byt till en POST-body eller höj serverns gräns om du kontrollerar den.
415Mediatyp som inte stöds
Servern kan inte hantera Content-Type som skickades.
Mediatyp som inte stöds
Servern kan inte hantera Content-Type som skickades.
Till exempel att skicka application/xml till en server som bara accepterar application/json. Ställ in Content-Type-headern korrekt.
416Område kan inte uppfyllas
Det begärda byte-området ligger utanför resursens storlek.
Område kan inte uppfyllas
Det begärda byte-området ligger utanför resursens storlek.
Range-headern begär en del som filen inte har — t.ex. att återuppta en nedladdning efter filens slut. Svaret bör innehålla Content-Range med den faktiska storleken.
417Förväntan misslyckades
Servern kan inte uppfylla kraven i Expect-headern.
Förväntan misslyckades
Servern kan inte uppfylla kraven i Expect-headern.
Skickades när servern inte stöder Expect: 100-continue. Vissa klienter skickar denna header som standard på stora POST:ar; att inaktivera den löser vanligtvis problemet.
418Jag är en tekanna
Servern vägrar att brygga kaffe för att det är en tekanna.
Jag är en tekanna
Servern vägrar att brygga kaffe för att det är en tekanna.
Ett April Fools-skämt från 1998 (RFC 2324). Vissa verkliga API:er använder det för skämt eller för att markera föråldrade slutpunkter. Inte för produktionsbruk.
421Felriktad begäran
Begäran skickades till en server som inte kan producera ett svar på den.
Felriktad begäran
Begäran skickades till en server som inte kan producera ett svar på den.
Vanligt med HTTP/2-anslutningsåteranvändning: begäran nådde en server som inte är konfigurerad för målvärdnamnet. Klienten bör försöka på en ny anslutning.
422Innehållet kan inte bearbetas
Begäran var syntaktiskt giltig men semantiskt felaktig.
Innehållet kan inte bearbetas
Begäran var syntaktiskt giltig men semantiskt felaktig.
Till exempel parsades JSON korrekt men ett obligatoriskt fält saknades, eller ett fältvärde låg utanför intervallet. Vanligt i REST API-valideringssvar.
423Låst
Resursen är låst.
Låst
Resursen är låst.
WebDAV: käll- eller målresursen är låst av en annan klient, så åtgärden kan inte fortsätta. Vänta på att låset släpps eller bryt det med rätt token.
424Misslyckat beroende
Begäran misslyckades eftersom en tidigare beroende begäran misslyckades.
Misslyckat beroende
Begäran misslyckades eftersom en tidigare beroende begäran misslyckades.
WebDAV: i en kedja av beroende åtgärder misslyckades en tidigare åtgärd, så denna utfördes inte. Titta på det tidigare felet för rotorsaken.
425För tidigt
Servern vägrar att bearbeta en begäran som kan upprepas.
För tidigt
Servern vägrar att bearbeta en begäran som kan upprepas.
Relaterat till TLS 1.3 0-RTT (tidig data): servern vill inte riskera att bearbeta en begäran som kan vara en återuppspelning. Klienten bör försöka på nytt efter att handskakan är klar.
426Uppgradering krävs
Klienten måste byta till ett annat protokoll.
Uppgradering krävs
Klienten måste byta till ett annat protokoll.
Servern vägrar att servera begäran över det aktuella protokollet men kommer att göra det efter en uppgradering — svaret innehåller en Upgrade-header som namnger det protokoll som krävs.
428Förutsättning krävd
Servern kräver att begäran är villkorlig.
Förutsättning krävd
Servern kräver att begäran är villkorlig.
Servern kräver villkorliga headers (som If-Match) för att förhindra förlorad-uppdaterings-konflikter. Hämta resursen, fånga dess ETag och skicka igen med If-Match.
429För många begäranden
Klienten är hastighetsbegränsad.
För många begäranden
Klienten är hastighetsbegränsad.
Sakta ner. Svaret bör innehålla en Retry-After-header som anger när man ska försöka igen. Vanligt med API:er som har begärandekvot.
431Begärandeheader för stor
Headers är för stora för servern att bearbeta.
Begärandeheader för stor
Headers är för stora för servern att bearbeta.
Antingen en header eller den totala headerstorleken överskrider gränsen — oftast orsakad av överdrivna cookies. Rensa cookies eller minska vad din app lagrar i dem.
451Otillgänglig av juridiska skäl
Åtkomst nekad på grund av juridiska krav.
Otillgänglig av juridiska skäl
Åtkomst nekad på grund av juridiska krav.
Resursen är blockerad av juridiska skäl — censur, domstolsbeslut eller regionala regler. Numret är en anspelning på romanen Fahrenheit 451.
500Internt serverfel
Servern påträffade ett oväntat villkor.
Internt serverfel
Servern påträffade ett oväntat villkor.
En generisk catch-all för fel på servern. Kontrollera serverloggar för den faktiska orsaken: ohanterat undantag, databasfel, osv.
501Inte implementerad
Servern stöder inte den begärda funktionen.
Inte implementerad
Servern stöder inte den begärda funktionen.
Till exempel känner servern inte igen HTTP-metoden. Sällsynt i praktiken — oftare ser du 405.
502Dålig gateway
Servern, som fungerar som en gateway, fick ett dåligt svar från en uppströmstjänst.
Dålig gateway
Servern, som fungerar som en gateway, fick ett dåligt svar från en uppströmstjänst.
Vanligt i mikrotjänstarkitekturer. Din lastbalanserare eller omvänd proxy fick ett felaktigt svar från backend-tjänsten.
503Tjänsten är inte tillgänglig
Servern kan för närvarande inte hantera begäran.
Tjänsten är inte tillgänglig
Servern kan för närvarande inte hantera begäran.
Antingen nere för underhåll eller överbelastad. Svaret bör innehålla en Retry-After-header. Ofta returnerad under distributioner.
504Gateway-timeout
Gateway-servern avbröt tiden när den väntade på ett uppströmssvar.
Gateway-timeout
Gateway-servern avbröt tiden när den väntade på ett uppströmssvar.
Backend-tjänsten svarade inte snabbt nog. Kontrollera hälsan för uppströmstjänsten och timeout-konfigurationen.
505HTTP-version stöds inte
Servern stöder inte HTTP-versionen som användes i begäran.
HTTP-version stöds inte
Servern stöder inte HTTP-versionen som användes i begäran.
HTTP-versionens huvudversion för begäran stöds inte av servern. Nästan aldrig sett med moderna klienter.
506Variant förhandlar också
Servern har en content negotiation-felkonfiguration.
Variant förhandlar också
Servern har en content negotiation-felkonfiguration.
Transparent content negotiation slutade i en slinga: den valda varianten är själv konfigurerad för att förhandla. Indikerar ett fel i serverkonfigurationen.
507Otillräcklig lagring
Servern får slut på diskutrymme.
Otillräcklig lagring
Servern får slut på diskutrymme.
WebDAV-specifik till ursprunget men används ibland av allmänna servrar. Betyder att servern inte kan spara begäran på grund av lagringsbegränsningar.
508Slinga upptäckt
Servern upptäckte en oändlig slinga under bearbetning av begäran.
Slinga upptäckt
Servern upptäckte en oändlig slinga under bearbetning av begäran.
WebDAV: bearbetning av en Depth: infinity-begäran gick in i en slinga (t.ex. cirkulära bindningar). Operationen avslutades.
510Inte utökat
Ytterligare tillägg till begäran krävs.
Inte utökat
Ytterligare tillägg till begäran krävs.
Från det föråldrade HTTP Extension Framework: servern behöver mer information innan den kan uppfylla begäran. Effektivt oanvänd på det moderna webben.
511Nätverksautentisering krävs
Klienten måste autentisera sig för att få nätverksåtkomst.
Nätverksautentisering krävs
Klienten måste autentisera sig för att få nätverksåtkomst.
Används av captive portals (hotell/flygplats WiFi) för att indikera att användaren måste logga in på nätverket innan han kan komma åt externa webbplatser.
Vanliga användningar
- Referens för API-designVid utformning av REST API:er väljer du rätt statuskod för varje svar.
- Slå upp felkoder snabbtNär din app returnerar en förvirrande HTTP-fel, slå upp vad det faktiskt betyder.
- Lär dig HTTP-statuskoderOmfattande referens för studenter och utvecklare som lär sig HTTP och REST.
- Snabb referens under incidenterUnder produktionsincidenter, slå snabbt upp vad varje statuskod betyder.
- Referens for API-dokumentationNär du skriver API-dokumentation, länka till auktoritativa beskrivningar av de statuskoder du returnerar.
Så här fungerar det
Det här verktyget är en klientsidesreferens byggd kring en hårdkodad uppslagstabell med 63 HTTP-statuskoder som täcker alla fem klasser (1xx–5xx), var och en märkt med det RFC-nummer som definierar den. Det finns inget serveranrop, inget externt API och ingen nätverksförfrågan — all filtrering och visning sker i webbläsaren med JavaScripts inbyggda array- och strängmetoder.
- 1Uppslagstabellen läses inHela uppsättningen av 63 IANA-registrerade statuskoder är inbäddad direkt i det här verktyget som en JavaScript-array, där varje post bär den numeriska koden, det kanoniska engelska namnet, kategoriklassen och den specifika RFC som definierar den (t.ex. RFC 9110 för de flesta HTTP/1.1-koder, RFC 6585 för 429 Too Many Requests, RFC 2324 för 418 I'm a Teapot).
- 2Filtrering sker i minnetMedan du skriver eller väljer ett kategorifilter körs JavaScripts Array.filter på listan i minnet, och matchar din sökning mot statuskodens nummer, det kanoniska namnet, samt både den korta och den långa beskrivningen med String.includes — ingen fördröjning, ingen serverrundtur.
- 3Detaljer expanderas med RFC-länkVarje resultat renderas som ett HTML details/summary-element. Att expandera en post visar den utförliga förklaringen och en direktlänk till den auktoritativa RFC:n på rfc-editor.org, så att du kan läsa den exakta specifikationstexten för valfri kod.
- 4Djuplänkar och kopiering till urklippAtt öppna en post uppdaterar URL-hashen till kodnumret (t.ex. #404), vilket gör sidan delbar och bokmärkesvänlig. Kopieringsknappen skriver den kanoniska strängen (t.ex. '404 Not Found') till urklipp via webbläsarens navigator.clipboard-API.
Relaterade verktyg
Citationsgenerator
Skapa källhänvisningar och referenser i APA 7, MLA 9, Chicago och Harvard för webbplatser, böcker, tidskrifter och YouTube – och bygg en referenslista att kopiera eller exportera. Gratis och privat.
Intervalltimer
En arbets- och vilotimer för HIIT- och Tabata-pass med uppvärmning, ronder, set, stor nedräkning, färgkodade faser, pip och valfria röstsignaler.
Videodelare
Dela en lång video i delar: bitar på 60 sekunder för WhatsApp Status eller Stories, ett antal lika delar, eller delar under en storlek som 25 MB för e-post. Spara varje del eller alla som ZIP. Körs i webbläsaren; videon laddas inte upp.