Slå upp vilken HTTP-statuskod som helst: vad den betyder, när servrar skickar den och vilken specifikation som definierar den. Sök efter nummer eller nyckelord, filtrera efter klass och länka direkt till en kod.
Servern har tagit emot begärans headers och klienten kan skicka bodyn. Förekommer när en klient skickar "Expect: 100-continue" innan en stor body laddas upp.
Skickas före det slutliga svaret så att webbläsaren kan börja förhandsladda resurser som anges i Link-headers. Används av CDN:er och servrar för att snabba upp sidladdningar.
Begäran lyckades och det finns inget innehåll att returnera. Vanligt vid DELETE-begäranden och när data sparas utan att klienten behöver något svarsbody.
Servern returnerar endast det byteintervall som klienten begärde. Förekommer när videor strömmas, nedladdningar återupptas eller en klient skickar en Range-header.
Resursen har permanent flyttats till URL:en i Location-headern. Webbläsare och sökmotorer uppdaterar sina länkar; vissa klienter ändrar POST till GET när de följer den.
Resursen finns tillfälligt på en annan URL som anges i Location-headern. Vanligt efter inloggningar och för kortsiktiga omdirigeringar; webbläsare följer den vanligtvis med GET.
Klienten bör hämta resultatet från en annan URL med GET. Används efter en formulär-POST för att omdirigera till en bekräftelsesida (mönstret Post/Redirect/Get).
Den cachade kopian är fortfarande giltig, så servern skickar ingen body. Visas när en webbläsare omvaliderar en cachad fil med If-None-Match eller If-Modified-Since.
Resursen finns tillfälligt på en annan URL och klienten måste upprepa begäran med samma metod och body. Används också av webbläsare för interna HSTS-omdirigeringar till HTTPS.
Resursen har flyttats permanent och klienten måste använda samma metod och body på den nya URL:en. Den permanenta motsvarigheten till 307, säker för att omdirigera POST-begäranden.
Begäran saknar giltiga autentiseringsuppgifter. Trots namnet betyder det ”oautentiserad”; servern skickar en WWW-Authenticate-header som beskriver hur man loggar in.
Servern förstod begäran men avvisar den, och att logga in igen hjälper inte. Visas när behörigheter saknas, kataloglistning är inaktiverad eller en brandvägg blockerar klienten.
Resursen finns men stöder inte den HTTP-metod som används, till exempel POST till en skrivskyddad URL. Svaret listar de tillåtna metoderna i Allow-headern.
Ett villkor i begärans headers, till exempel If-Match, var inte uppfyllt. Används för att förhindra att en resurs som ändrats sedan klienten senast läste den skrivs över.
URL:en är längre än vad servern kan bearbeta. Orsakas ofta av att ett formulär skickar för mycket data med GET eller av en omdirigeringsloop som fortsätter lägga till parametrar.
Ett aprilskämt från 1998 års Hyper Text Coffee Pot Control Protocol: en tekanna som vägrar brygga kaffe. HTTP reserverar koden som oanvänd, men vissa servrar returnerar den som ett påskägg eller för att avvisa oönskade botar.
Begäran är korrekt utformad men innehållet är ogiltigt, till exempel ett formulär med underkända valideringsregler. Används ofta av API:er för valideringsfel.
Klienten har skickat för många begäranden under en viss tid. API:er använder den för hastighetsbegränsning och inkluderar ofta en Retry-After-header som anger när det går att försöka igen.
Inte en standardkod. nginx använder den internt för att stänga anslutningen utan att skicka något svar, ofta för att släppa oönskad trafik; klienter tar aldrig emot den.
Inte en standardkod. nginx loggar den när klienten stängde anslutningen innan servern svarade, till exempel när en användare avbryter en långsam sida eller vid en timeout på klientsidan.
Servern stötte på ett oväntat fel och kunde inte slutföra begäran. Ett allmänt fel på grund av en bugg, krasch eller felkonfiguration; serverloggarna innehåller detaljerna.
En gateway eller proxy tog emot ett ogiltigt svar från uppströmsservern. Vanligt när applikationen bakom nginx eller en lastbalanserare har kraschat eller håller på att starta om.
Servern kan tillfälligt inte hantera begäran eftersom den är överbelastad eller nere för underhåll. En Retry-After-header kan ange när du kan försöka igen.
Inte en standardkod. Cloudflare returnerar den när ursprungsservern nekade anslutningen, vanligtvis för att webbservern är nere eller blockerar Cloudflares IP-adresser.
Inte en standardkod. Cloudflare returnerar den när den anslöt till ursprungsservern men inte fick något HTTP-svar inom sin tidsgräns (100 sekunder som standard).
Inte en standardkod. Cloudflare returnerar den när ursprungsserverns SSL-certifikat är ogiltigt och SSL-läget Full (strict) är aktiverat.
Definieras i Cloudflare
Så här använder du det
Skriv in ett kodnummer (till exempel 404 eller bara 5 för alla serverfel) eller ett sökord som "redirect" eller "timeout".
Avgränsa listan med klassfiltret: informativ, framgång, omdirigering, klientfel eller serverfel.
Använd "Kopiera länk" på valfri kod för att dela en direktlänk till den, till exempel i en buggrapport.
Så fungerar det
Varje HTTP-svar börjar med en tresiffrig statuskod. Den första siffran anger klassen: 1xx informationssvar, 2xx framgång, 3xx omdirigering, 4xx fel som orsakats av begäran och 5xx fel på serversidan. Klienter som inte känner igen en specifik kod behandlar den som x00-koden i samma klass, så en okänd 4xx-kod hanteras som 400.
Grundkoderna definieras i RFC 9110 (HTTP Semantics, 2022), som ersatte den äldre RFC 7231. Andra kommer från tillägg: WebDAV (RFC 4918), RFC 6585 för 428, 429, 431 och 511, RFC 7725 för 451 och RFC 8470 för 425. RFC 9110 bytte också namn på två koder: 413 heter nu “Content Too Large” och 422 “Unprocessable Content”, som du fortfarande kan se under de gamla namnen “Payload Too Large” och “Unprocessable Entity”.
Vissa koder du möter i loggar är inte standard över huvud taget. nginx använder 444 och 494–499 internt (499 visar en klient som gav upp att vänta), och Cloudflare returnerar 520–526 när den inte kan få ett korrekt svar från ursprungsservern. Dessa är markerade som “Non-standard” i listan. Orsaksfraserna (till exempel “Not Found”) visas på engelska så som de skrivs i specifikationerna; HTTP/2 och HTTP/3 skickar bara numret.
Exempel
301 eller 308 när du flyttar en webbplats
Båda är permanenta. Använd 301 för vanliga sidflyttningar; använd 308 när klienter måste upprepa POST- eller PUT-förfrågningar till den nya URL:en, eftersom vissa klienter ändrar POST till GET efter ett 301-svar.
401 jämfört med 403
Ett API returnerar 401 när ingen token eller en utgången token skickas, så klienten bör logga in. Det returnerar 403 när tokenen är giltig men användaren saknar behörighet, så det hjälper inte att logga in igen.
Felsöka 502 bakom nginx
Ett 502 Bad Gateway från nginx betyder att applikationen bakom den inte svarade korrekt. Kontrollera om app-processen körs och vad den loggade; 504 betyder i stället att den svarade för långsamt.
Vanliga frågor
Vad är skillnaden mellan 404 och 410?
404 betyder att servern inte kan hitta resursen och säger ingenting om framtiden. 410 innebär att resursen medvetet har tagits bort och inte kommer tillbaka, vilket hjälper sökmotorer att ta bort URL:en snabbare.
Bör ett valideringsfel returnera 400 eller 422?
Båda används. 400 passar för förfrågningar servern inte kan tolka, till exempel trasig JSON. 422 passar för förfrågningar som tolkas korrekt men innehåller ogiltiga värden, till exempel ett e-postfält utan @.
Är 418 I'm a teapot en riktig statuskod?
Den härstammar från en aprilskämt-RFC från 1998. RFC 9110 reserverar 418 som oanvänd så att den inte tilldelas något annat, och en del servrar returnerar den som ett skämt, men den har ingen standardiserad betydelse.
Var kommer 499 ifrån?
499 är specifik för nginx. Den visas i nginx-loggar när klienten stänger anslutningen innan servern skickar ett svar. Klienten får aldrig en 499; den tyder oftast på långsamma svar eller timeouter på klientsidan.
Behandlar sökmotorer 302 som 301?
En 302 signalerar en tillfällig flytt, så sökmotorer brukar först behålla den ursprungliga URL:en indexerad. Om en 302 ligger kvar länge kan Google behandla den som en permanent omdirigering. Använd 301 eller 308 för permanenta flyttar.
Integritet
Listan är en del av sidan. Sökning och filtrering sker i din webbläsare; dina sökord skickas inte någonstans och ingår inte i analys.