Hoppa till huvudinnehåll
LibraTool logoLibraTool

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.

Fungerar offline när den väl lästs in

61 statuskoder

100

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.

RFC 9110 ↗
101

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.

RFC 9110 ↗
102

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.

RFC 2518 ↗
103

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.

RFC 8297 ↗
200

OK

Förfrågan lyckades.

Standardsvaret vid framgång. Betydelsen beror på HTTP-metoden: GET → resurs returnerad, POST/PUT → åtgärd slutförd.

RFC 9110 ↗
201

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.

RFC 9110 ↗
202

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.

RFC 9110 ↗
203

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.

RFC 9110 ↗
204

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.

RFC 9110 ↗
205

Å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).

RFC 9110 ↗
206

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.

RFC 9110 ↗
207

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.

RFC 4918 ↗
208

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.

RFC 5842 ↗
226

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.

RFC 3229 ↗
300

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.

RFC 9110 ↗
301

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.

RFC 9110 ↗
302

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'.

RFC 9110 ↗
303

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.

RFC 9110 ↗
304

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.

RFC 9110 ↗
307

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.

RFC 9110 ↗
308

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.

RFC 9110 ↗
400

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.

RFC 9110 ↗
401

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'.

RFC 9110 ↗
402

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.

RFC 9110 ↗
403

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.

RFC 9110 ↗
404

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.

RFC 9110 ↗
405

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.

RFC 9110 ↗
406

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.

RFC 9110 ↗
407

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.

RFC 9110 ↗
408

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.

RFC 9110 ↗
409

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).

RFC 9110 ↗
410

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.

RFC 9110 ↗
411

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.

RFC 9110 ↗
412

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.

RFC 9110 ↗
413

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.

RFC 9110 ↗
414

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.

RFC 9110 ↗
415

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.

RFC 9110 ↗
416

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.

RFC 9110 ↗
417

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.

RFC 9110 ↗
418

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.

RFC 2324 ↗
421

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.

RFC 9110 ↗
422

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.

RFC 9110 ↗
423

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.

RFC 4918 ↗
424

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.

RFC 4918 ↗
425

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.

RFC 8470 ↗
426

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.

RFC 9110 ↗
428

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.

RFC 6585 ↗
429

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.

RFC 6585 ↗
431

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.

RFC 6585 ↗
451

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.

RFC 7725 ↗
500

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.

RFC 9110 ↗
501

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.

RFC 9110 ↗
502

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.

RFC 9110 ↗
503

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.

RFC 9110 ↗
504

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.

RFC 9110 ↗
505

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.

RFC 9110 ↗
506

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.

RFC 2295 ↗
507

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.

RFC 4918 ↗
508

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.

RFC 5842 ↗
510

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.

RFC 2774 ↗
511

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.

RFC 6585 ↗

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.

  1. 1
    Uppslagstabellen läses in
    Hela 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).
  2. 2
    Filtrering sker i minnet
    Medan 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.
  3. 3
    Detaljer expanderas med RFC-länk
    Varje 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.
  4. 4
    Djuplänkar och kopiering till urklipp
    Att ö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

Vanliga frågor