Teknisk referens

HTTP-svarsstatuskoder

HTTP-statuskoder är tresiffriga signaler i ett serversvar. Den första siffran anger det övergripande utfallet; de återstående siffrorna anger ett specifikt tillstånd. Den här guiden förklarar registrerade standardkoder i praktiskt sammanhang och tar även upp viktiga leverantörsspecifika värden som kan förekomma i loggar.

Så läser du katalogen: En status är inte en fullständig diagnos i sig. Kontrollera begärandemetod, svarshuvuden, svarskropp, omdirigeringsmål och servern eller proxyn som skapade svaret. Oigenkända värden behåller i allmänhet betydelsen från sin klass enligt den första siffran, men det exakta beteendet kan vara implementeringsspecifikt.

Webbläsarkompatibilitet och svarshantering

HTTP-statuskoder ingår i HTTP-protokollet och är inte en webbläsarfunktion som varje leverantör implementerar som ett separat webb-API. Moderna webbläsare kan hantera standardiserade svarsklasser; synliga felsidor och beteende vid nytt försök är webbläsarspecifika. Stödet för nyare preliminära svar och specialiserade tillägg kan variera mellan versioner och nätverksvägar.

SvarsfamiljChrome / EdgeFirefoxSafariOperaAndroid / iOS WebViewKompatibilitetsinformation
1xx informationStöds som preliminära protokollsvarStöds som preliminära protokollsvarStöds som preliminära protokollsvarStöds som preliminära protokollsvarStöds av det underliggande nätverkslagret100/101 är etablerade; 102 är nischad/föråldrad. Stödet för 103 Early Hints och synligt förhandsinläsningsbeteende varierar mellan webbläsarversioner, servrar och mellanhänder.
2xx lyckatStödsStödsStödsStödsStödsStandardiserad framgångssemantik delas mellan klienter. Regler för svarskroppen gäller ändå: 204 och 205 har till exempel ingen svarskropp.
3xx omdirigeringStödsStödsStödsStödsStödsLocation, metod, cache och säkerhetspolicy påverkar navigeringen. 301/302 kan ändra POST till GET; 307/308 bevarar metoden.
4xx klient-/begärandefelStödsStödsStödsStödsStödsWebbläsaren tar emot svaret; visning av serverns svarskropp eller en webbläsargenererad felsida varierar mellan statusar och produkter.
5xx serverfelStödsStödsStödsStödsStödsKlienter kan hantera svarsklassen, men proxyskapade sidor, beteende vid nytt försök och diagnostikgränssnitt är inte identiska i alla webbläsare.
Okänd kod i en känd klassHantering på klassnivåHantering på klassnivåHantering på klassnivåHantering på klassnivåHantering på klassnivåHTTP-klienter kan dra slutsatser om den allmänna klassen från den första siffran; förlita dig inte på att en anpassad kod har standardiserad semantik eller identiskt gränssnitt.

Kompatibilitet här beskriver hantering på protokollnivå, inte en garanti för att alla webbläsare visar samma felsida. Äldre klienter, inbäddade WebView, proxyservrar och fångstportaler kan ha ytterligare beteenden.

1xx — informationssvar

100

Continue

Servern har godtagit begärandehuvudena och väntar på den återstående begärandekroppen. Används ofta med Expect: 100-continue så att klienten slipper ladda upp en stor kropp om begäran kommer att avvisas.

Operativt råd: Preliminärt svar; fortsätt bara skicka kroppen om den förväntas.

101

Switching Protocols

Servern godkänner att byta protokoll för anslutningen efter att klienten begärt en uppgradering. WebSocket-handskakning är ett vanligt exempel.

Operativt råd: Övergång på anslutningsnivå; verifiera Upgrade- och Connection-huvudena.

102

Processing

En WebDAV-server rapporterar att en långvarig åtgärd har startat men inte slutförts. Det är ett äldre/föråldrat svar och ska inte misstas för slutresultatet.

Operativt råd: Preliminär WebDAV-status; invänta slutsvaret.

103

Early Hints

Servern skickar preliminära huvuden, ofta Link-tips, medan den förbereder slutsvaret. En klient kan börja hämta sannolikt kritiska resurser i förväg.

Operativt råd: Preliminär optimering; ett slutligt svar måste följa.

2xx — lyckade svar

200

OK

Begäran lyckades. Representationen beror på metoden: GET returnerar resursen, HEAD returnerar metadata utan kropp och en skrivåtgärd kan returnera en resultatrepresentation.

Operativt råd: Använd när en slutförd begäran lämpligen har en svarspresentation.

201

Created

Begäran slutfördes och skapade en eller flera resurser. Svaret bör identifiera den nya resursen, ofta med Location, och kan returnera dess representation.

Operativt råd: Vanligt efter POST eller PUT; säkerställ att den skapade resursen går att hitta.

202

Accepted

Servern har godtagit begäran för behandling, men den är inte färdig och kan fortfarande misslyckas. HTTP levererar inte senare ett andra svar för samma utbyte.

Operativt råd: Ange en URL för åtgärden/statusen eller ett annat sätt att få veta det slutliga utfallet.

203

Non-Authoritative Information

En transformerande proxy eller mellanhand returnerade metadata eller innehåll som skiljer sig från ursprungssvaret. Det anger att svaret inte är en direkt auktoritativ representation.

Operativt råd: Använd endast när en mellanhandstransformering är relevant.

204

No Content

Begäran lyckades och det finns inget svarsinnehåll att skicka. Huvuden kan ändå innehålla användbara metadata, exempelvis uppdaterade validerare.

Operativt råd: Inkludera ingen svarskropp.

205

Reset Content

Begäran lyckades och klienten uppmanas att återställa vyn eller formuläret som skickade den. Inget svarsinnehåll skickas.

Operativt råd: Användbart för interaktioner som ska rensa/återställa det aktuella inmatningstillståndet.

206

Partial Content

Servern uppfyllde en giltig intervallbegäran och returnerar endast det efterfrågade byteintervallet eller intervallen. Content-Range beskriver vad som levererades.

Operativt råd: Kontrollera att Range- och Content-Range-värdena stämmer; vanligt vid återupptagbara medie-/filhämtningar.

207

Multi-Status

Ett WebDAV-svar rapporterar separata resultat för flera resurser eller delåtgärder, vanligtvis i en strukturerad XML-kropp.

Operativt råd: Tolka resultatet för varje inbäddad resurs; den yttre statusen ensam visar inte hela utfallet.

208

Already Reported

Ett WebDAV-multistatussvar utelämnar medlemmar som redan listats tidigare i samma svar för att undvika upprepning.

Operativt råd: WebDAV-specifikt; tolka tillsammans med det omgivande multistatussvaret.

226

IM Used

Servern uppfyllde en GET med hjälp av instansmanipuleringar och returnerar en representation som härletts från den aktuella resursen enligt den förhandlade delta-mekanismen.

Operativt råd: Specialiserad delta-kodning; klienter och servrar måste komma överens om transformeringen.

3xx — omdirigering och cachevalidering

300

Multiple Choices

Målet har flera representationer eller destinationer och svaret erbjuder val. En klient eller användare kan välja önskad variant.

Operativt råd: Ange tydliga alternativ; anta inte att alla klienter väljer automatiskt.

301

Moved Permanently

Resursen har fått en ny permanent URI. Klienter kan uppdatera sparade länkar och cache, så använd endast när flytten ska bestå.

Operativt råd: Vid SEO-migreringar, omdirigera direkt till den slutliga motsvarande URL:en och uppdatera interna länkar.

302

Found

Resursen är tillfälligt tillgänglig på en annan URI. Historiskt beteende tillåter metodändringar i vissa fall, så det är inte det säkraste valet när POST måste förbli POST.

Operativt råd: Använd vid tillfälliga flyttar när metodomskrivning är acceptabel; överväg 307 när den inte är det.

303

See Other

Klienten bör hämta resursen som anges av Location med GET (eller HEAD vid behov), i stället för att upprepa den ursprungliga åtgärden. Används ofta efter att ett formulär skickats.

Operativt råd: Implementerar Post/Redirect/Get-mönstret och förhindrar att åtgärden skickas igen.

304

Not Modified

En villkorad GET eller HEAD anger att den cachade representationen fortfarande är aktuell. Svaret har ingen kropp och låter klienten återanvända sin sparade kopia.

Operativt råd: Returnera endast när en validator, till exempel If-None-Match eller If-Modified-Since, matchar.

305

Use Proxy

Ett historiskt svar föreslog att klienten skulle nå resursen via en proxy. Det är föråldrat av säkerhetsskäl och bör inte användas av moderna tjänster.

Operativt råd: Använd inte; konfigurera proxyer separat.

306

Unused

Värdet är reserverat/ej använt i moderna HTTP-specifikationer. Det har ingen standardiserad operativ betydelse för dagens webbapplikationer.

Operativt råd: Skicka det inte.

307

Temporary Redirect

Resursen finns tillfälligt på en annan URI, och klienten måste bevara den ursprungliga metoden och kroppen när omdirigeringen följs.

Operativt råd: Använd när en tillfällig flytt inte får ändra POST till GET.

308

Permanent Redirect

Resursen har flyttats permanent, och klienten måste bevara den ursprungliga metoden och kroppen när omdirigeringen följs.

Operativt råd: Använd vid permanenta flyttar där metoden måste bevaras; uppdatera canonical och interna referenser.

4xx — klient-/begärandefel

400

Bad Request

Servern kan inte behandla begäran eftersom syntax, inramning eller skickade data är ogiltiga. Det hjälper sannolikt inte att upprepa samma begäran oförändrad.

Operativt råd: Granska URL-kodning, JSON-/kroppssyntax, obligatoriska fält och begärans inramning.

401

Unauthorized

Begäran saknar giltiga autentiseringsuppgifter för målet. Trots namnet betyder svaret att autentisering krävs eller misslyckades.

Operativt råd: Skicka förväntade autentiseringsuppgifter och inkludera en WWW-Authenticate-utmaning.

402

Payment Required

Reserverad för framtida bruk, även om vissa produkter använder den för betalnings- eller kvotflöden. Det finns inget enhetligt interoperabelt betalningsbeteende.

Operativt råd: Behandla leverantörsspecifika betydelser som sådana och dokumentera API-avtalet.

403

Forbidden

Servern förstod begäran men vägrar att uppfylla den. Giltiga autentiseringsuppgifter behöver inte ändra utfallet eftersom begränsningen kan bygga på en policy.

Operativt råd: Kontrollera behörigheter, åtkomstpolicy, IP-/WAF-regler och behörighet på resursnivå.

404

Not Found

Servern kan inte hitta en aktuell representation för den begärda URI:n eller vill inte avslöja om den finns. Svaret anger inte i sig om frånvaron är tillfällig eller permanent.

Operativt råd: Rätta URL:en, återställ resursen eller använd 410 när det är känt att borttagningen är permanent.

405

Method Not Allowed

Resursen finns men stöder inte metoden som användes i begäran.

Operativt råd: Returnera ett Allow-huvud med de metoder som resursen godtar.

406

Not Acceptable

Servern kan inte skapa en representation som matchar klientens proaktiva Accept-preferenser.

Operativt råd: Lätta på Accept-begränsningarna eller konfigurera en lämplig representations-/förhandlingspolicy.

407

Proxy Authentication Required

En mellanliggande proxy kräver autentiseringsuppgifter innan den vidarebefordrar begäran.

Operativt råd: Autentisera mot proxyn med Proxy-Authenticate / Proxy-Authorization; detta skiljer sig från autentisering hos ursprungsservern.

408

Request Timeout

Servern fick inte hela begäran inom den tid den var beredd att vänta. Klienten kan försöka igen på en ny anslutning.

Operativt råd: Kontrollera nätverksavbrott, uppladdningsstorlek och tidsgränser hos server/proxy.

409

Conflict

Begäran står i konflikt med resursens aktuella tillstånd, till exempel en versionskollision eller ett försök att skapa en dubblett.

Operativt råd: Förklara konflikten och ge klienten tillräckligt med aktuell information för att lösa den.

410

Gone

Resursen är avsiktligt och sannolikt permanent otillgänglig och har ingen känd ersättning. Detta är tydligare än ett allmänt ”hittades inte”-svar.

Operativt råd: Använd när borttagningen är avsiktlig; ta bort föråldrade interna länkar och referenser.

411

Length Required

Servern kräver ett Content-Length-huvud, men begäran innehöll inget.

Operativt råd: Skicka ett korrekt Content-Length eller använd en stödd överföringsinramning.

412

Precondition Failed

Ett begärandevillkor, till exempel If-Match, utvärderades som falskt, så servern utförde inte den begärda åtgärden.

Operativt råd: Uppdatera representationen och försök igen med aktuella validatorer/tillstånd.

413

Content Too Large

Begärandekroppen överskrider en gräns som servern kan eller vill behandla. Servern kan stänga anslutningen eller tillåta ett nytt försök efter att kroppen minskats.

Operativt råd: Minska nyttolastens storlek eller justera dokumenterade uppladdningsgränser.

414

URI Too Long

Begärans mål är längre än servern är villig att tolka, ofta på grund av en för stor frågesträng.

Operativt råd: Använd en kortare URI eller flytta lämpliga data till begärandekroppen.

415

Unsupported Media Type

Servern avvisar begärandekroppen eftersom mediatyp, innehållskodning eller granskade format inte stöds.

Operativt råd: Skicka en stödd Content-Type/kodning och en kropp som matchar den.

416

Range Not Satisfiable

Det begärda byteintervallet kan inte levereras, till exempel om det börjar efter representationens längd.

Operativt råd: Kontrollera resursens längd och intervallenheter igen; servrar kan returnera Content-Range: bytes */length.

417

Expectation Failed

Servern eller mellanhanden kan inte uppfylla en förväntan som anges i Expect-huvudet.

Operativt råd: Försök igen utan den osupporterade förväntningen när det är säkert och lämpligt.

418

I'm a teapot

En humoristisk status som kommer från en aprilskämtspecifikation. Det är inte ett normalt felavtal för en applikation, även om vissa tjänster använder det skämtsamt.

Operativt råd: Förlita dig inte på det för interoperabel produktionsfunktion.

421

Misdirected Request

Begäran nådde en server som inte kan skapa ett auktoritativt svar för mål-URI:n, ofta för att anslutningsroutning eller HTTP-auktoritet inte stämmer.

Operativt råd: Försök igen över en lämplig anslutning och granska Host/:authority, SNI och proxyroutning.

422

Unprocessable Content

Innehållstyp och syntax förstås, men servern kan inte tillämpa instruktionerna eller validera det inskickade innehållet.

Operativt råd: Returnera användbara valideringsdetaljer per fält; en korrigering av nyttolasten kan möjliggöra ett lyckat svar.

423

Locked

En WebDAV-resurs är låst, så den begärda metoden kan inte utföras förrän låstillståndet har lösts.

Operativt råd: Kontrollera låsägare, tidsgräns och hantering av WebDAV-låstoken.

424

Failed Dependency

En WebDAV-åtgärd misslyckades eftersom en nödvändig föregående åtgärd i samma begärandeföljd misslyckades.

Operativt råd: Lös det tidigare misslyckade steget innan beroende åtgärder försöks igen.

425

Too Early

Servern avböjer att behandla en begäran som kan ha spelats upp under tidiga data för att minska risken för återuppspelning.

Operativt råd: Försök igen när anslutningen har upprättats utan tidiga data.

426

Upgrade Required

Servern avvisar det aktuella protokollet och anger att klienten bör byta till ett annat.

Operativt råd: Inkludera ett Upgrade-huvud som beskriver protokollalternativ som stöds.

428

Precondition Required

Servern kräver en villkorad begäran för att förhindra förlorade uppdateringar, men klienten skickade en ovillkorad begäran.

Operativt råd: Hämta aktuellt tillstånd och skicka ett lämpligt villkor, till exempel If-Match.

429

Too Many Requests

Klienten har skickat för många förfrågningar under en viss period enligt en hastighetsgräns som servern definierat.

Operativt råd: Sänk takten, följ Retry-After när det finns och undvik synkroniserade vågor av nya försök.

431

Request Header Fields Too Large

Servern behandlar inte begäran eftersom ett eller flera huvudfält, eller den sammanlagda uppsättningen huvuden, är för stor.

Operativt råd: Minska cookies/anpassade huvuden eller justera en avsiktlig servergräns.

451

Unavailable For Legal Reasons

Servern kan inte tillhandahålla den begärda resursen på grund av en juridisk begränsning.

Operativt råd: Förklara begränsningen och dess omfattning när det är lämpligt, utan att avslöja skyddad information.

5xx — server- och mellanhandfel

500

Internal Server Error

Servern stötte på ett oväntat tillstånd och kan inte slutföra begäran. Det är en allmän reservkod när inget mer specifikt serverfel passar.

Operativt råd: Koppla begäran till serverloggar och undvik att visa stackspår för besökare.

501

Not Implemented

Servern stöder inte funktionen som krävs för att uppfylla begäran, ofta en oimplementerad metod eller förmåga.

Operativt råd: Implementera funktionen eller använd en metod som stöds; koden är inte avsedd för tillfällig överbelastning.

502

Bad Gateway

En server som fungerar som gateway eller proxy fick ett ogiltigt svar från en uppströmsserver.

Operativt råd: Granska uppströms hälsa, protokoll-/TLS-inställningar, DNS och proxyloggar.

503

Service Unavailable

Servern kan tillfälligt inte hantera begäran, ofta på grund av underhåll eller överbelastning.

Operativt råd: Ange om möjligt Retry-After, ett hjälpsamt svar och cachekontroller som passar ett tillfälligt fel.

504

Gateway Timeout

En gateway eller proxy fick inte ett svar från en uppströms tjänst i tid.

Operativt råd: Undersök uppströms fördröjning, nätverksvägar och tidsgränser genom hela kedjan.

505

HTTP Version Not Supported

Servern stöder inte den huvudsakliga HTTP-version som användes i begäran.

Operativt råd: Använd en protokollversion som stöds eller uppdatera serverns/proxyns konfiguration.

506

Variant Also Negotiates

Ett konfigurationsfel på servern skapade en cirkulär innehållsförhandling där den valda varianten förhandlar igen.

Operativt råd: Åtgärda variant-/förhandlingskonfigurationen; felet finns på ursprungsservern.

507

Insufficient Storage

En WebDAV-server kan inte lagra representationen som behövs för att slutföra åtgärden.

Operativt råd: Frigör eller tilldela lagringsutrymme och kontrollera kvoter innan du försöker igen.

508

Loop Detected

En server upptäckte en oändlig loop när en begäran behandlades, ofta vid traversering av WebDAV-bindningar.

Operativt råd: Bryt den cykliska resursrelationen eller behandlingsregeln.

510

Not Extended

Begäran kräver ett tillägg som servern inte stöder.

Operativt råd: Använd en tilläggsuppsättning som stöds eller förhandla om ett alternativ.

511

Network Authentication Required

Klienten måste autentisera sig för att få åtkomst till nätverket, vanligtvis via en fångstportal. Detta är avsett för nätverksmellanhänder, inte inloggning på en ursprunglig webbplats.

Operativt råd: Slutför nätverksautentiseringen och försök sedan med den ursprungliga begäran igen.

Noterbara icke-standardiserade och leverantörsspecifika svar

Dessa värden förekommer i vissa produkter, serverloggar, CDN:er eller applikationer. De är inte utbytbara mot registrerade standardbetydelser; kontrollera tjänstens villkor för den som genererar dem.

419

Authentication Timeout (icke-standardiserad)

Vissa applikationer använder den här beteckningen när en autentiseringssession löper ut. Det är ingen universellt tilldelad HTTP-status, så klienter kan inte förlita sig på enhetlig semantik.

Operativt råd: Förnya autentiseringen enligt tjänstens villkor.

420

Enhance Your Calm (icke-standardiserad)

Ett leverantörsspecifikt svar som historiskt använts för hastighetsbegränsning. Betydelsen definieras av implementationen.

Operativt råd: Följ dokumenterade anvisningar för hastighetsbegränsning.

444

Connection Closed (icke-standardiserad)

Vissa servrar stänger anslutningen utan att skicka ett konventionellt svar, ofta som en filtreringsåtgärd.

Operativt råd: Kontrollera leverantörens loggar; klienter kan rapportera ett nätverksfel i stället för att visa den här koden.

449

Retry With (icke-standardiserad)

Ett Microsoft-tillägg som vissa tjänster använder för att be klienten försöka igen med ytterligare information.

Operativt råd: Följ dokumentationen för det specifika API:et.

499

Client Closed Request (icke-standardiserad)

En omvänd proxy kan logga detta när klienten kopplar från innan uppströms svaret har slutförts. Vanligen är det en loggklassificering snarare än ett svar till klienten.

Operativt råd: Undersök klientavbrott och långsamma uppströmsbegäranden.

509

Bandwidth Limit Exceeded (icke-standardiserad)

Vissa webbhotellsplattformar använder koden för en kvot eller bandbreddsgräns. Den har ingen allmänt interoperabel HTTP-betydelse.

Operativt råd: Kontrollera värdens kvot- och faktureringsinställningar.

520

Web Server Returned an Unknown Error (leverantörsspecifik)

Ett CDN eller en proxy kan använda detta när det får ett oväntat eller tomt svar från ursprungsservern.

Operativt råd: Jämför edge- och ursprungsloggar; verifiera att ursprungsservern skickar ett giltigt HTTP-svar.

521

Web Server Is Down (leverantörsspecifik)

En proxy kunde inte upprätta en anslutning till ursprungsservern eller så avvisade ursprungsservern den.

Operativt råd: Kontrollera ursprungsserverns tillgänglighet, brandväggsregler och proxyns listor över tillåtna adresser.

522

Connection Timed Out (leverantörsspecifik)

En edge-tjänst anslöt eller försökte ansluta till ursprungsservern men slutförde inte utbytet inom tidsgränsen.

Operativt råd: Granska ursprungsserverns svarstid och nätverksfördröjning.

523

Origin Is Unreachable (leverantörsspecifik)

En proxy kunde inte nå den konfigurerade ursprungsadressen.

Operativt råd: Kontrollera DNS-uppslagning, routning och ursprungsserverns IP-konfiguration.

524

A Timeout Occurred (leverantörsspecifik)

Anslutningen till ursprungsservern lyckades, men den skickade inte ett HTTP-svar i tid.

Operativt råd: Minska behandlingstiden hos ursprungsservern eller justera tidsgränser som stöds.

525

SSL Handshake Failed (leverantörsspecifik)

En proxy kunde inte slutföra TLS-förhandlingen med ursprungsservern.

Operativt råd: Validera certifikat, protokoll-/chifferkompatibilitet och SNI.

526

Invalid SSL Certificate (leverantörsspecifik)

En mellanhand avvisade ursprungsserverns certifikat under valideringen.

Operativt råd: Installera ett giltigt, korrekt namngivet, betrott och ej utgånget certifikat med fullständig kedja.

527

Railgun Error (leverantörsspecifik)

En äldre leverantörsspecifik proxystatus som rapporterar ett fel i en accelereringsanslutning till ursprungsservern.

Operativt råd: Granska leverantörens specifika anslutningskomponent och vägen till ursprungsservern.

598

Network Read Timeout (icke-standardiserad)

Vissa klienter eller proxyer använder värdet för att beskriva en tidsgräns vid nätverksläsning. Det har ingen universell HTTP-betydelse.

Operativt råd: Granska klientens/proxyns diagnostik.

599

Network Connect Timeout (icke-standardiserad)

Vissa proxyer använder värdet när ett försök att upprätta nätverksanslutning når tidsgränsen. Betydelsen beror på implementationen.

Operativt råd: Kontrollera nåbarhet och tidsgränsinställningar.

Använda statuskoder vid omdirigerings- och SEO-granskningar

Vid en permanent URL-flytt använder du en permanent omdirigering endast när målet ska ersätta den gamla URL:en; vid en tillfällig ändring väljer du ett tillfälligt svar. Håll kedjor korta och rikta dem mot den slutliga motsvarande destinationen. Kontrollera att varje Location-värde kan nås, att slutsvaret är lämpligt och att canonical-taggar och interna länkar stämmer med den avsedda URL:en. Ett avslutande 2xx bekräftar HTTP-framgång, inte att sidan är användbar, indexerbar eller tekniskt felfri.

Källor och referensanteckningar

Den här sidan sammanfattar HTTP-statuskodernas semantik för praktisk användning. Standardregistret och RFC är auktoritativa referenser för standardiserade koder; MDN erbjuder en tillgänglig teknisk guide och Wikipedia är en kompletterande översikt som underhålls av gemenskapen.