Hoppa till innehållet
Gratis verktyg

HTTP-statuskoder: lista och betydelse

HTTP-statuskoder i en sökbar lista: Ange 404, 403, 500, 502 eller ”omdirigering” och se vad HTTP-koden betyder, vad felet beror på och hur du åtgärdar det. 70 koder från 100 till 526, med kopierbara exempel för nginx och Apache, Cloudflare-felen 520 till 526 och nginx-koderna 444 och 499. Gratis och utan registrering – sökningen sker helt i din webbläsare.

Byggd av Dimitri Heissler

Driver du något eget? Ge din webbplats ett snabbt webbhotell.

Sökningen omfattar nummer, namn, förklaringar, orsaker och konfigurationsexempel, till exempel ”timeout” eller ”client_max_body_size”.

Söks ofta:

70 av 70 statuskoder

Betydelse

Servern har tagit emot begärans headers och har inga invändningar. Klienten får skicka bodyn. Detta hör till headern ”Expect: 100-continue”, som låter en klient fråga om servern accepterar en stor uppladdning innan den skickas.

Se även:
Definierad i RFC 9110

Betydelse

Servern byter protokoll på klientens begäran, till exempel från HTTP till WebSocket. Klienten skickade headern ”Upgrade” för detta.

Se även:
Definierad i RFC 9110

Betydelse

Servern behandlar fortfarande begäran och är inte klar. Koden kommer från WebDAV och förhindrar timeout vid långa åtgärder. Den räknas som föråldrad och förekommer knappt längre.

Definierad i RFC 2518

Betydelse

Servern skickar förhandsinformation, till exempel ”Link”-headers för stilmallar eller skript, medan den förbereder det egentliga svaret. Webbläsaren kan redan börja läsa in filerna. Det är en upplysning, inte ett fel.

Definierad i RFC 8297

Betydelse

Förfrågan lyckades. Vid GET innehåller svaret den begärda resursen, vid POST resultatet av åtgärden. Det är normalfallet för varje fungerande sida.

För sökmotoroptimering: En 200 betyder bara att servern svarar, inte att innehållet är korrekt. En felsida som levereras med 200 kallas ”Soft 404” och förvirrar sökmotorer.
Se även:
Definierad i RFC 9110

Betydelse

Förfrågan lyckades och skapade en ny resurs. Typiskt för POST till ett API. Headern ”Location” anger den nya resursens adress.

Se även:
Definierad i RFC 9110

Betydelse

Servern har tagit emot begäran men är inte klar med behandlingen. Resultatet kommer senare, till exempel via en statuskontroll eller en webhook. Vanligt för bakgrundsjobb.

Se även:
Definierad i RFC 9110

Betydelse

Förfrågan lyckades, men data kommer inte direkt från ursprungsservern utan från en proxy som kan ha ändrat dem. Förekommer sällan.

Definierad i RFC 9110

Betydelse

Förfrågan lyckades, men svaret saknar avsiktligt body. Vanligt vid DELETE eller PUT och vid CORS-preflight-förfrågningar (OPTIONS). Den som vill läsa svaret som JSON måste hantera en tom body.

Se även:
Definierad i RFC 9110

Betydelse

Förfrågan lyckades. Klienten ska återställa vyn, till exempel tömma ett formulär. Svaret saknar body. Används sällan.

Definierad i RFC 9110

Betydelse

Servern levererar bara den begärda delen av en fil eftersom klienten skickade en ”Range”-header. Används för videoströmning, pausade nedladdningar och stora filer.

Se även:
Definierad i RFC 9110

Betydelse

Svaret innehåller flera statuskoder för flera delåtgärder, som XML. Det kommer från WebDAV och förekommer vid synkronisering av kalendrar, kontakter och filer.

Definierad i RFC 4918

Betydelse

Medlemmarna i en WebDAV-bindning har redan visats i en tidigare del av samma svar och listas inte igen. Mycket ovanligt.

Definierad i RFC 5842

Betydelse

Servern svarade på begäran med delta-kodning: Svaret är resultatet av en eller flera ändringar av instansen för den aktuella resursen. Används inte i praktiken.

Definierad i RFC 3229

Betydelse

Det finns flera möjliga svar på begäran, till exempel samma fil i olika format eller språk. Klienten eller användaren ska välja ett. Används sällan i praktiken.

Se även:
Definierad i RFC 9110

Betydelse

Permanent omdirigering: Resursen har en ny adress som anges i headern ”Location”. Webbläsare och sökmotorer ska hädanefter bara använda den nya URL:en.

Vanliga orsaker

  • Flytt av domän eller URL, till exempel från http till https eller från www till huvuddomänen
  • En sida har bytt namn eller flyttats
  • En omdirigeringsregel i nginx, Apache eller CMS:et träder i kraft

Så åtgärdar du det

  • Länka direkt till mål-URL:en så behövs ingen omdirigering.
  • Korta ner omdirigeringskedjor (A, B, C) till ett enda steg.
  • Vid en omdirigeringsloop (ERR_TOO_MANY_REDIRECTS), kontrollera reglerna för http/https och www mot varandra. Ofta står serverns och CMS:ets regler i konflikt.
  • Webbläsare sparar 301 länge. Testa ändringar i ett inkognitofönster eller med curl -I.

Konfiguration och kommandon (exempel)

nginx
return 301 https://example.com$request_uri;
Apache
Redirect 301 /alte-seite https://example.com/neue-seite
För sökmotoroptimering: En 301 överför rankningssignalerna från den gamla URL:en till den nya. Använd den vid varje permanent flytt och undvik omdirigeringskedjor.
Se även:
Definierad i RFC 9110

Betydelse

Tillfällig omdirigering: Resursen finns tillfälligt på en annan adress. Klienten ska följa headern ”Location” för den här förfrågan, men fortsätta använda den ursprungliga URL:en framöver. Vissa klienter ändrar då ett POST till ett GET.

Vanliga orsaker

  • Tidsbegränsad omdirigering, till exempel för en kampanj eller underhåll
  • Inloggningsomdirigering till en inloggningssida
  • Omdirigering efter språk eller land
  • Felaktigt inställt trots att flytten är permanent

Så åtgärdar du det

  • Använd 301 eller 308 för permanenta omdirigeringar, annars behåller sökmotorerna den gamla URL:en.
  • Om metoden ska behållas, använd 307 (tillfälligt) eller 308 (permanent).

Konfiguration och kommandon (exempel)

nginx
return 302 https://example.com/sommer-angebot;
Apache
Redirect 302 /angebot https://example.com/sommer-angebot
För sökmotoroptimering: Med en 302-omdirigering ligger den gamla URL:en kvar i indexet så länge omdirigeringen betraktas som tillfällig. Använder du den för en permanent flytt överförs rankningen bara långsamt.
Se även:
Definierad i RFC 9110

Betydelse

Omdirigering med GET: Klienten ska hämta resultatet från en annan URL med GET. Används ofta efter ett POST (Post/Redirect/Get) så att formuläret inte skickas igen när sidan laddas om.

Se även:
Definierad i RFC 9110

Betydelse

Resursen har inte ändrats sedan den senaste begäran. Servern skickar ingen svarskropp, utan webbläsaren använder den cachade kopian. Webbläsaren skickade med ”If-None-Match” (ETag) eller ”If-Modified-Since”. Det sparar bandbredd och gör sidan snabbare.

Se även:
Definierad i RFC 9110

Betydelse

Tillfällig omdirigering som 302, men HTTP-metoden och bodyn förblir oförändrade när omdirigeringen följs: ett POST förblir ett POST.

Vanliga orsaker

  • Chrome visar ”307 Internal Redirect” i utvecklarverktygen för HSTS-omdirigeringar från http till https, utan att servern har skickat något
  • En server omdirigerar tillfälligt en API-förfrågan och vill behålla metoden

Så åtgärdar du det

  • Om omdirigeringen är permanent använder du 308 i stället för 307.

Konfiguration och kommandon (exempel)

nginx
return 307 https://example.com$request_uri;
Apache
Redirect 307 /alt https://example.com/neu
Se även:
Definierad i RFC 9110

Betydelse

Permanent omdirigering som 301, men HTTP-metoden och body förblir oförändrade: Ett POST förblir ett POST. Lämplig för permanenta API-flyttar och formulär som inte får förlora sina data.

Konfiguration och kommandon (exempel)

nginx
return 308 https://example.com$request_uri;
Apache
Redirect 308 /alt https://example.com/neu
För sökmotoroptimering: För sökmotorer fungerar 308 som 301 och överför rankningen till den nya adressen.
Se även:
Definierad i RFC 9110

Betydelse

Servern förstår inte begäran eftersom den är felaktigt uppbyggd: ogiltig syntax, trasiga headers eller en för stor cookie. Från serverns perspektiv ligger felet hos klienten.

Vanliga orsaker

  • Ogiltiga tecken eller en felkodad URL, till exempel ett blanksteg eller ett % utan två hexadecimala siffror
  • För stora eller skadade cookies, i nginx visas då ”Request Header Or Cookie Too Large”
  • Ogiltig JSON-body eller obligatoriska fält saknas i ett API
  • Felaktiga Host- eller Content-Length-headers, ofta på grund av en proxy

Så åtgärdar du det

  • Radera domänens cookies i webbläsaren och ladda om sidan.
  • Kontrollera URL:en och koda specialtecken, till exempel med URL Encoder.
  • Jämför förfrågans body med API-dokumentationen.
  • Vid för stora headers: Öka serverns buffertstorlek.

Konfiguration och kommandon (exempel)

nginx
large_client_header_buffers 4 16k;
Se även:
Definierad i RFC 9110

Betydelse

Förfrågan kräver giltig autentisering. Klienten har inte loggat in eller har ogiltiga inloggningsuppgifter. Servern skickar med headern ”WWW-Authenticate”, som anger vilken metod som förväntas. Namnet är missvisande: Det betyder ”inte autentiserad”, inte ”saknar behörighet” (det är 403).

Vanliga orsaker

  • Token, lösenord eller API-nyckel saknas eller har gått ut
  • Felaktig Authorization-header, till exempel saknas ”Bearer” före token
  • HTTP Basic-skydd (.htpasswd) för sidan eller katalogen

Så åtgärdar du det

  • Kontrollera inloggningsuppgifterna och tokenens utgångstid.
  • Kontrollera formatet på Authorization-headern.
  • För Basic Auth: Kontrollera användaren i .htpasswd och filsökvägen i konfigurationen.

Konfiguration och kommandon (exempel)

nginx
auth_basic "Geschützter Bereich";
auth_basic_user_file /etc/nginx/.htpasswd;
Apache
AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Se även:
Definierad i RFC 9110

Betydelse

Reserverad för framtida betalningssystem och aldrig standardiserad. Vissa tjänster använder den ändå, till exempel när en prenumeration har löpt ut eller en API-kvot måste betalas.

Så åtgärdar du det

  • Kontrollera faktura- eller abonnemangsstatus hos leverantören.
  • Läs tjänstens API-dokumentation. Där definieras betydelsen.
Se även:
Definierad i RFC 9110

Betydelse

Servern förstår begäran men nekar den. Till skillnad från vid 401 hjälper det oftast inte att logga in igen: Den här identiteten eller adressen har inte åtkomst.

Vanliga orsaker

  • Filrättigheterna eller ägaren stämmer inte; webbserverns användare kan inte läsa filen
  • Katalogen saknar ett indexdokument och kataloglistning är avstängd
  • IP-blockering, brandväggs- eller WAF-regel eller geoblockering
  • En regel i .htaccess eller nginx-konfigurationen nekar åtkomst (deny all, Require all denied)
  • En säkerhetsmodul som ModSecurity eller Fail2ban blockerar förfrågan

Så åtgärdar du det

  • Kontrollera behörigheterna: kataloger har oftast 755 och filer 644. Ägaren ska motsvara webbserverns användare. CHMOD-kalkylatorn omvandlar siffrorna.
  • Skapa en indexfil (index.html, index.php) eller ange index-direktivet.
  • Läs webbserverns fellogg. Där står den exakta orsaken, till exempel ”directory index of … is forbidden”.
  • Kontrollera IP-blockeringar och WAF-regler.

Konfiguration och kommandon (exempel)

Shell
namei -l /var/www/html/index.html
nginx
index index.html index.php;
Apache
<Directory /var/www/html>
    Require all granted
</Directory>
Se även:
Definierad i RFC 9110

Betydelse

Servern går att nå men känner inte igen den begärda adressen. Resursen hittades inte. Servern anger inte om den aldrig har funnits eller bara saknas just nu.

Vanliga orsaker

  • Skrivfel eller inaktuell länk
  • Sidan har tagits bort, flyttats eller bytt namn utan omdirigering
  • Fel dokumentrot i webbservern (root eller alias) eller felaktiga versaler och gemener, eftersom Linux skiljer på dem
  • Saknade omskrivningsregler, till exempel för WordPress-permalänkar eller en ensidesapp
  • Filen laddades inte upp vid driftsättningen

Så åtgärdar du det

  • Kontrollera sökväg och filnamn, inklusive stora och små bokstäver.
  • Ange try_files i nginx så att permalänkar och ensidesappar fungerar: try_files $uri $uri/ /index.php?$args; eller /index.html.
  • Omdirigera flyttade sidor till den nya adressen med 301.
  • Skapa en egen 404-sida med sökfunktion och länkar.

Konfiguration och kommandon (exempel)

nginx
error_page 404 /404.html;
Apache
ErrorDocument 404 /404.html
För sökmotoroptimering: Enstaka 404-sidor skadar inte rankningen. Sidor med bakåtlänkar eller trafik är viktiga: omdirigera dem med 301. Undvik felsidor som levereras med statuskod 200 (”Soft 404”).
Se även:
Definierad i RFC 9110

Betydelse

Resursen finns, men inte för den här HTTP-metoden (GET, POST, PUT, DELETE och så vidare). Svaret måste innehålla ett ”Allow”-huvud med de tillåtna metoderna.

Vanliga orsaker

  • POST till en route som bara stöder GET, eller tvärtom
  • nginx svarar med 405 på en POST-begäran till en statisk fil
  • En omdirigering med 301 eller 302 har ändrat POST till GET
  • Webbservern eller WAF blockerar metoder som PUT och DELETE

Så åtgärdar du det

  • Läs headern ”Allow”. Där står de tillåtna metoderna.
  • Kontrollera route och controller i applikationen.
  • Använd 307 eller 308 i stället för 301 eller 302 om metoden ska bevaras vid omdirigeringen.
  • Använd den slutliga https-adressen direkt så att ingen omdirigering ändrar metoden.
Se även:
Definierad i RFC 9110

Betydelse

Servern kan inte ge ett svar i något av de format som klienten tillåter via headern ”Accept”, till exempel medietyp, språk eller teckenuppsättning. Vissa Web Application Firewalls (ModSecurity) blockerar också förfrågningar med den här koden.

Vanliga orsaker

  • Accept-headern begär till exempel enbart application/xml, men servern levererar bara JSON
  • En ModSecurity-regel har bedömt förfrågan som misstänkt, ofta för skript utan User-Agent

Så åtgärdar du det

  • Anpassa Accept-headern eller utelämna den.
  • Läs granskningsloggen i ModSecurity och kontrollera vilken regel som utlöstes.
Se även:
Definierad i RFC 9110

Betydelse

Som 401, men det är en proxyserver som kräver inloggning, inte målservern. Proxyn skickar då headern ”Proxy-Authenticate”.

Vanliga orsaker

  • En företags- eller skolproxy kräver inloggning
  • Felaktiga inloggningsuppgifter för proxy i systeminställningarna eller i curl

Så åtgärdar du det

  • Ange proxyinloggningsuppgifterna, till exempel i curl med -x användare:lösenord@proxy:port.
  • Be IT-avdelningen eller proxyleverantören om rätt inloggningsuppgifter.
Se även:
Definierad i RFC 9110

Betydelse

Servern väntade för länge på klientens fullständiga begäran och stängde anslutningen.

Vanliga orsaker

  • Långsam eller instabil anslutning hos klienten
  • En stor uppladdning avbryts
  • En proxy eller Load Balancer håller anslutningar öppna för kort tid
  • Webbläsaren öppnade en anslutning i förväg men använde den aldrig

Så åtgärdar du det

  • Kontrollera anslutningen och upprepa förfrågan.
  • Öka tidsgränserna på servern.
  • Vid uppladdning: Minska filernas storlek eller ladda upp dem i delar.

Konfiguration och kommandon (exempel)

nginx
client_header_timeout 60s;
client_body_timeout 60s;
Apache
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
Se även:
Definierad i RFC 9110

Betydelse

Förfrågan står i konflikt med resursens aktuella tillstånd, till exempel vid samtidiga ändringar eller en post som redan finns. Klienten kan lösa konflikten och försöka igen.

Vanliga orsaker

  • Ett unikt värde finns redan, till exempel en e-postadress, ett användarnamn eller ett domännamn
  • Två användare ändrar samma resurs och versionen stämmer inte längre
  • Resursen kan inte ändras eller tas bort i sitt nuvarande tillstånd

Så åtgärdar du det

  • Ladda om det aktuella läget och gör din ändring igen.
  • Läs svarstexten: Bra API:er anger där exakt vad konflikten gäller.
Se även:
Definierad i RFC 9110

Betydelse

Resursen fanns tidigare, men har tagits bort avsiktligt och kommer inte tillbaka. Till skillnad från 404 anger servern att den är borta permanent.

Vanliga orsaker

  • Innehållet har raderats avsiktligt, till exempel ett utgånget erbjudande
  • En serverregel returnerar 410 för gamla URL:er

Så åtgärdar du det

  • Finns det en ersättare? Omdirigera med 301.
  • Svara med 410 för borttagna URL:er som aldrig kommer tillbaka.

Konfiguration och kommandon (exempel)

nginx
location = /alte-seite {
    return 410;
}
Apache
Redirect gone /alte-seite
För sökmotoroptimering: Med 410 visar du tydligt för sökmotorer att sidan har tagits bort avsiktligt. Google behandlar dock 404 och 410 ungefär likadant, så skillnaden är liten.
Se även:
Definierad i RFC 9110

Betydelse

Servern kräver headern ”Content-Length”, som saknas i begäran. Den accepterar bara en body med känd längd.

Vanliga orsaker

  • En klient skickar begärans body i delar (chunked) till en server som inte accepterar det
  • Ett skript eller en proxy utelämnar headern

Så åtgärdar du det

  • Ange Content-Length eller använd en HTTP-klient som skickar headern automatiskt.
  • Kontrollera proxyns inställningar för buffring av förfrågningar.
Se även:
Definierad i RFC 9110

Betydelse

Ett villkor i förfrågans header (If-Match, If-Unmodified-Since och så vidare) är inte uppfyllt. Servern genomför därför inte ändringen. Det förhindrar att ändringar skrivs över.

Vanliga orsaker

  • Resursen har ändrats sedan klienten hämtade ETag-värdet
  • Föråldrad ETag i If-Match

Så åtgärdar du det

  • Ladda om resursen, hämta den nya ETag och skicka ändringen igen.
Se även:
Definierad i RFC 9110

Betydelse

Förfrågans body är större än servern accepterar. Vanligt vid filuppladdningar. Koden hette tidigare ”Payload Too Large” och dessförinnan ”Request Entity Too Large”.

Vanliga orsaker

  • nginx: client_max_body_size är som standard bara 1 MB
  • Apache: LimitRequestBody är inställt
  • PHP: upload_max_filesize eller post_max_size är för små
  • Ett framförliggande CDN eller en proxy begränsar storleken

Så åtgärdar du det

  • Höj gränsen i konfigurationen och ladda om servern (nginx -s reload).
  • Höj upload_max_filesize och post_max_size i php.ini. post_max_size måste vara minst lika stort som upload_max_filesize.
  • Kontrollera varje led: CDN, proxy, webbserver och PHP. Den lägsta gränsen gäller.

Konfiguration och kommandon (exempel)

nginx
client_max_body_size 50M;
Apache
LimitRequestBody 52428800
Se även:
Definierad i RFC 9110

Betydelse

URL:en är längre än servern kan hantera. Det beror oftast på ett fel i applikationen, inte på en verklig adress.

Vanliga orsaker

  • Väldigt många parametrar i en GET-begäran
  • En omdirigeringsloop lägger till fler parametrar för varje varv
  • Stora datamängder överförs via URL i stället för POST

Så åtgärdar du det

  • Skicka stora datamängder med POST.
  • Åtgärda omdirigeringsslingan.
  • Höj serverns gräns vid behov.

Konfiguration och kommandon (exempel)

nginx
large_client_header_buffers 4 16k;
Apache
LimitRequestLine 16384
Se även:
Definierad i RFC 9110

Betydelse

Servern känner inte igen formatet på den skickade bodyn (headern ”Content-Type”). Den kanske bara behandlar JSON men får formulärdata.

Vanliga orsaker

  • Content-Type-headern saknas eller är felaktig, till exempel application/json i stället för text/plain
  • Servern förväntar sig multipart/form-data för uppladdningar

Så åtgärdar du det

  • Ange en Content-Type som passar innehållet i meddelandet.
  • Läs API-dokumentationen.
Se även:
Definierad i RFC 9110

Betydelse

Det begärda intervallet (headern ”Range”) ligger utanför filen. Servern anger den faktiska storleken i ”Content-Range”.

Vanliga orsaker

  • En nedladdning återupptas från en offset, men filen har blivit mindre eller ersatts
  • En felaktig nedladdningshanterare

Så åtgärdar du det

  • Radera den delvis nedladdade filen och börja om.
Se även:
Definierad i RFC 9110

Betydelse

Servern kan inte uppfylla förväntningen i headern ”Expect”. Oftast gäller det ”100-continue”, som en proxy eller server inte stöder.

Vanliga orsaker

  • En gammal proxy eller server utan stöd för Expect
  • curl skickar automatiskt Expect: 100-continue vid stora POST-förfrågningar

Så åtgärdar du det

  • Stäng av headern i curl med -H 'Expect:'.
  • Uppdatera proxyn.

Konfiguration och kommandon (exempel)

Shell
curl -H 'Expect:' -d @datei.json https://example.com/api
Se även:
Definierad i RFC 9110

Betydelse

Ett aprilskämt från RFC 2324 (Hyper Text Coffee Pot Control Protocol): En tekanna vägrar brygga kaffe. Koden är reserverad och används i praktiken som ett skämt eller för att stoppa botar.

Definierad i RFC 2324

Betydelse

Förfrågan skickades till en server som inte kan svara för den här kombinationen av schema och värd. Det kan hända med HTTP/2 när en webbläsare återanvänder en anslutning för flera värdnamn.

Vanliga orsaker

  • Flera domäner på en IP-adress med gemensamt certifikat, men olika konfiguration för varje värd
  • SNI och Host-headern stämmer inte överens

Så åtgärdar du det

  • Samordna certifikat och virtuella värdar för de berörda domänerna.
  • Kontrollera med curl --resolve vilken värd som svarar.
Se även:
Definierad i RFC 9110

Betydelse

Servern förstår begäran och formatet är korrekt, men innehållet är ogiltigt, till exempel för att ett obligatoriskt fält saknas eller ett värde ligger utanför det tillåtna intervallet. Koden hette tidigare ”Unprocessable Entity”. Många ramverk använder den för valideringsfel.

Vanliga orsaker

  • Valideringen misslyckas, till exempel på grund av e-postformat, längd eller ett obligatoriskt fält
  • Ett logiskt fel, till exempel ett slutdatum före startdatumet

Så åtgärdar du det

  • Läs svarstexten. Där finns fälten och felmeddelandena.
  • Kontrollera inmatningarna mot API-dokumentationen.
Se även:
Definierad i RFC 9110

Betydelse

Resursen är låst, till exempel för att någon har checkat ut den för redigering i WebDAV.

Så åtgärdar du det

  • Häv låsningen (UNLOCK) eller vänta tills den andra användaren är klar.
Se även:
Definierad i RFC 4918

Betydelse

Förfrågan misslyckades eftersom en annan förfrågan som den är beroende av misslyckades. Koden kommer från WebDAV och används även av orkestreringsverktyg.

Se även:
Definierad i RFC 4918

Betydelse

Servern vill inte behandla en begäran som skulle kunna spelas upp igen (replay-attack). Förekommer med TLS 1.3 Early Data (0-RTT).

Definierad i RFC 8470

Betydelse

Servern kräver ett annat protokoll, som anges i headern ”Upgrade”. Ett exempel är en begäran via HTTP/1.1 när servern kräver TLS eller HTTP/2.

Vanliga orsaker

  • Föråldrad TLS-version
  • API:et är endast tillgängligt via WebSocket eller HTTPS

Så åtgärdar du det

  • Uppdatera klienten och biblioteket.
  • Skicka begäran via det protokoll som krävs.
Se även:
Definierad i RFC 9110

Betydelse

Servern kräver ett villkor (If-Match) för att en föråldrad version inte ska skrivas över av misstag.

Vanliga orsaker

  • En PUT utan If-Match mot en skyddad resurs

Så åtgärdar du det

  • Hämta resursens ETag och ange den i headern If-Match.
Se även:
Definierad i RFC 6585

Betydelse

Klienten har skickat för många förfrågningar under en viss tid (rate limiting). Headern ”Retry-After” anger när den får försöka igen.

Vanliga orsaker

  • API- eller inloggningsgränsen har överskridits, till exempel på grund av en loop i skriptet
  • En bot, crawler eller scraper orsakar hög belastning
  • Ett skydd mot brute force-attacker (Fail2ban, WAF) har aktiverats
  • Flera användare delar en IP-adress (NAT, VPN) och räknas ihop

Så åtgärdar du det

  • Vänta så länge som Retry-After anger och försök igen med allt längre intervall (exponentiell backoff).
  • Samla ihop förfrågningar och cachelagra svar.
  • Som operatör: Sätt gränser per IP eller API-nyckel och svara med 429. nginx använder 503 som standard.
  • Tillåt legitima sökrobotar.

Konfiguration och kommandon (exempel)

nginx
limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;

server {
    location /api/ {
        limit_req zone=api burst=20 nodelay;
        limit_req_status 429;
    }
}
För sökmotoroptimering: Googlebot behandlar 429 som ett serverfel och genomsöker webbplatsen långsammare. Sätt gränserna så att sökmotorer inte påverkas permanent.
Se även:
Definierad i RFC 6585

Betydelse

Förfrågans headers är för stora, totalt eller var för sig. Den vanligaste orsaken är för många eller för stora cookies.

Vanliga orsaker

  • Samlade cookies (spårning, sessioner) på en domän
  • En mycket lång Authorization-header, till exempel en stor JWT
  • En omdirigeringsloop lägger hela tiden till fler cookies

Så åtgärdar du det

  • Radera domänens cookies.
  • Öka serverns headerbuffertar.
  • Håll JWT:er och headers små.

Konfiguration och kommandon (exempel)

nginx
large_client_header_buffers 4 16k;
Apache
LimitRequestFieldSize 16384
Se även:
Definierad i RFC 6585

Betydelse

En nginx-specifik kod som aldrig skickas till klienten: nginx stänger anslutningen utan svar. Den syns bara i åtkomstloggen. Administratörer använder return 444; för att avvisa bottar och ogiltiga Host-förfrågningar.

Vanliga orsaker

  • return 444; i nginx-konfigurationen, till exempel i standardservern

Så åtgärdar du det

  • Om det är avsiktligt behöver du inte göra något.
  • Om det inte är avsiktligt, kontrollera regeln med nginx -T och sök efter return 444.

Konfiguration och kommandon (exempel)

nginx
server {
    listen 80 default_server;
    return 444;
}
Se även:
Definierad i nginx

Betydelse

Resursen är spärrad av juridiska skäl, till exempel på grund av ett domstolsbeslut, censur eller geoblockering. Koden anspelar på Ray Bradburys roman ”Fahrenheit 451”.

Vanliga orsaker

  • Spärr på begäran, till exempel på grund av upphovsrätt eller ett myndighetsbeslut
  • Leverantören blockerar vissa regioner på grund av rättsliga krav

Så åtgärdar du det

  • Operatören anger oftast orsaken i svarets body.
  • Fråga operatören – att kringgå spärren kan vara olagligt.
Se även:
Definierad i RFC 7725

Betydelse

Klienten stängde anslutningen innan nginx kunde skicka svaret. Koden finns bara i nginx-loggen och är inte en riktig HTTP-kod.

Vanliga orsaker

  • En användare avbryter sidladdningen eller stänger fliken
  • Klientens timeout är kortare än serverns svarstid
  • En Load Balancer eller proxy framför servern avbryter för tidigt

Så åtgärdar du det

  • Minska applikationens svarstid, till exempel vid långsamma databasfrågor.
  • Samordna tidsgränserna för klient, proxy och server.
Se även:
Definierad i nginx

Betydelse

Ett allmänt serverfel: Servern stötte på ett oväntat problem och kunde inte hantera begäran. Koden visar inte vad som gick fel; orsaken finns i felloggen.

Vanliga orsaker

  • Fel i applikationskoden, till exempel ett fatalt PHP-fel eller ett ohanterat undantag
  • Felaktig .htaccess eller webbserverkonfiguration
  • Felaktiga filbehörigheter eller fel ägare för skript
  • Databasen kan inte nås eller så är inloggningsuppgifterna felaktiga
  • PHP:s minnesgräns (memory_limit) eller max_execution_time har nåtts
  • Ett PHP-tillägg saknas eller PHP-versionen är inte kompatibel med pluginet

Så åtgärdar du det

  • Läs felloggen: Där står filen och raden där felet uppstod.
  • Ångra de senaste minuternas ändringar (Plugin, Update, .htaccess).
  • Testa konfigurationen med nginx -t eller apachectl configtest.
  • Aktivera bara felsökningsläget (WP_DEBUG, APP_DEBUG) lokalt eller tillfälligt, aldrig permanent i en produktionsmiljö.

Konfiguration och kommandon (exempel)

nginx
tail -n 50 /var/log/nginx/error.log
Apache
tail -n 50 /var/log/apache2/error.log
För sökmotoroptimering: Googlebot kommer mer sällan vid ihållande 5xx-fel. Om ett fel kvarstår i flera dagar kan URL:er försvinna ur indexet.
Se även:
Definierad i RFC 9110

Betydelse

Servern känner inte igen metoden som används i begäran eller kan inte hantera den. Till skillnad från 405 gäller det inte bara den här resursen, utan att stöd saknas helt.

Vanliga orsaker

  • En ovanlig eller felstavad HTTP-metod
  • Servern eller proxyn stöder inte funktionen, till exempel på grund av gammal programvara

Så åtgärdar du det

  • Kontrollera vilken metod som används.
  • Uppdatera serverprogramvaran.
Se även:
Definierad i RFC 9110

Betydelse

En server som fungerar som gateway eller proxy (nginx, Apache, Load Balancer, CDN) har fått ett ogiltigt svar, eller inget svar alls, från servern bakom. Felet ligger mellan servrarna, inte hos besökaren.

Vanliga orsaker

  • Backend-tjänsten (PHP-FPM, Node.js, Gunicorn, Docker-container) körs inte eller har kraschat
  • Fel upstream: port eller socket i proxy_pass respektive fastcgi_pass stämmer inte
  • Backend stänger anslutningen i förtid, till exempel på grund av minnesproblem eller en krasch
  • En brandvägg eller SELinux blockerar anslutningen till backend
  • Ett CDN kan inte nå ursprungsservern som det ska

Så åtgärdar du det

  • Kontrollera backend-tjänstens status och starta om den (systemctl status, docker ps).
  • Kontrollera om något lyssnar på upstream-adressen (ss -tlnp).
  • Läs webbserverns fellogg: ”connect() failed (111: Connection refused) while connecting to upstream” anger målet.
  • Kontrollera socket-sökvägen och behörigheterna för PHP-FPM.
  • Räcker arbetsminnet? OOM-killer avslutar ofta backend-processen först.

Konfiguration och kommandon (exempel)

Shell
ss -tlnp | grep :3000
nginx
tail -n 50 /var/log/nginx/error.log
Shell
dmesg | grep -i "out of memory"
För sökmotoroptimering: Ett kortvarigt 502-fel påverkar knappt sökmotorer. Om det kvarstår behandlar Googlebot sidan som vid andra 5xx-fel och genomsöker den mer sällan.
Se även:
Definierad i RFC 9110

Betydelse

Servern kan tillfälligt inte behandla begäran, oftast på grund av överbelastning eller underhåll. Den kan ange med ”Retry-After” när det går att försöka igen.

Vanliga orsaker

  • Underhållsläge, till exempel i WordPress eller Laravel, eller planerat underhåll
  • Överbelastning: för många samtidiga förfrågningar eller processer, till exempel har pm.max_children nåtts i PHP-FPM
  • En backendtjänst bakom en proxy eller lastbalanserare går inte att nå
  • nginx svarar som standard med 503 när gränserna för limit_req och limit_conn överskrids
  • Hostingens resursgränser (CPU, RAM, processer) har nåtts

Så åtgärdar du det

  • Avsluta underhållsläget. Kontrollera om det finns en .maintenance-fil (WordPress) eller om php artisan down (Laravel) används.
  • Kontrollera resursanvändningen (top, free -m) och höj processgränser som pm.max_children.
  • Returnera avsiktligt 503 med Retry-After vid planerat underhåll.
  • Kontrollera webbserverloggen efter upstream-fel.

Konfiguration och kommandon (exempel)

nginx
error_page 503 /wartung.html;

location / {
    return 503;
}

location = /wartung.html {
    root /var/www/wartung;
    internal;
    add_header Retry-After 3600 always;
}
Apache
ErrorDocument 503 /wartung.html
Header always set Retry-After "3600"

RewriteEngine On
RewriteCond %{REQUEST_URI} !=/wartung.html
RewriteRule ^ - [R=503,L]
För sökmotoroptimering: Ett kortvarigt 503-fel med Retry-After är rätt sätt att signalera underhåll till sökmotorer. Om det varar i flera dagar kan URL:erna försvinna ur indexet.
Se även:
Definierad i RFC 9110

Betydelse

Gatewayen eller proxyn fick inget svar i tid från servern bakom den. Till skillnad från 502 är svaret inte ogiltigt, utan för sent.

Vanliga orsaker

  • En långsam applikation: tung databasfråga, rapport, import eller externt API-anrop
  • Backend är överbelastad, alla PHP-FPM-workers är upptagna
  • Proxyns timeoutvärden är lägre än tiden det tar att behandla begäran
  • Ett nätverksproblem mellan proxy och backend

Så åtgärdar du det

  • Hitta långsamma frågor och skript och snabba upp dem (Slow Query Log, Profiler).
  • Låt bakgrundsjobb ta hand om långvariga uppgifter.
  • Höj tidsgränserna samordnat: proxy_read_timeout, fastcgi_read_timeout och max_execution_time i PHP.
  • Kontrollera backend-systemets kapacitet (workers, arbetsminne).

Konfiguration och kommandon (exempel)

nginx
proxy_read_timeout 120s;
fastcgi_read_timeout 120s;
Apache
ProxyTimeout 120
Se även:
Definierad i RFC 9110

Betydelse

Servern stöder inte HTTP-versionen som används i begäran.

Vanliga orsaker

  • En mycket gammal eller felaktig klient eller proxy använder en ovanlig HTTP-version
  • Målsystemet stöder bara en viss version

Så åtgärdar du det

  • Uppdatera klienten eller tvinga fram HTTP/1.1, med --http1.1 i curl.
Se även:
Definierad i RFC 9110

Betydelse

Serverns konfiguration för innehållsförhandling är felaktig: Den valda varianten hänvisar själv till en ny förhandling. Förekommer i praktiken bara vid felkonfigurationer.

Se även:
Definierad i RFC 2295

Betydelse

Servern har inte tillräckligt med lagringsutrymme för att slutföra begäran.

Vanliga orsaker

  • Hårddisken är full eller kvoten eller antalet inoder är uppnått
  • Uppladdningen kan inte längre sparas

Så åtgärdar du det

  • Kontrollera lagringsutrymmet med df -h och df -i och rensa bort gamla loggar, Backups och cachefiler.
  • Höj kvoten.

Konfiguration och kommandon (exempel)

Shell
df -h && df -i
Se även:
Definierad i RFC 4918

Betydelse

Servern upptäckte en oändlig loop under behandlingen.

Vanliga orsaker

  • En cirkulär WebDAV-bindning
  • En katalogstruktur med en symlink-loop

Så åtgärdar du det

  • Kontrollera bindningar och symlänkar.
Se även:
Definierad i RFC 5842

Betydelse

Förfrågan saknar det tillägg som servern kräver enligt RFC 2774. Koden är historisk och förekommer nästan aldrig.

Definierad i RFC 2774

Betydelse

Klienten måste logga in på nätverket innan den får åtkomst. Skickas av en captive portal, till exempel på ett hotell, en flygplats eller ett kafés Wi-Fi.

Vanliga orsaker

  • En captive portal i Wi-Fi-nätverket kräver inloggning eller godkännande

Så åtgärdar du det

  • Öppna valfri sida via http, till exempel http://neverssl.com, så att portalen visas.
  • Logga in i portalen.
Se även:
Definierad i RFC 6585

Betydelse

Cloudflare fick ett svar från ursprungsservern som inte kunde behandlas: det var tomt, avbrutet eller hade ogiltiga headers. Det är ett samlingsfel från Cloudflare.

Vanliga orsaker

  • Ursprungsservern kraschar vid förfrågan, till exempel på grund av ett PHP-fel
  • Svarets headers är större än 32 KB, ofta på grund av för många cookies
  • Svaret är tomt eller anslutningen stängdes utan svar
  • En brandvägg blockerar delvis Cloudflares IP-adresser

Så åtgärdar du det

  • Läs ursprungsserverns fellogg.
  • Tillåt Cloudflares IP-intervall i brandväggen och Fail2ban.
  • Minska storleken på headers och cookies.
Se även:
Definierad i Cloudflare

Betydelse

Cloudflare kunde inte ansluta till ursprungsservern eftersom den nekade anslutningen. Webbplatsen och Cloudflare går att nå, men inte din server bakom dem.

Vanliga orsaker

  • Webbservern (nginx, Apache) körs inte
  • En brandvägg eller hostingleverantören blockerar Cloudflares IP-adresser
  • Fel ursprungs-IP eller fel port i Cloudflare-inställningen

Så åtgärdar du det

  • Starta webbservern och kontrollera att den lyssnar på port 80 och 443.
  • Tillåt Cloudflares IP-intervall.
  • Kontrollera DNS A-posten och ursprungsserverns port.

Konfiguration och kommandon (exempel)

Shell
ss -tlnp | grep -E ':(80|443)\b'
Se även:
Definierad i Cloudflare

Betydelse

Cloudflare försökte ansluta till ursprungsservern, men TCP-handskakningen slutfördes inte i tid. Anslutningen fick timeout innan någon förfrågan skickades.

Vanliga orsaker

  • Ursprungsservern är överbelastad eller offline
  • En brandvägg släpper paket från Cloudflare
  • Fel IP-adress eller ett routingproblem

Så åtgärdar du det

  • Kontrollera serverns tillgänglighet och belastning.
  • Tillåt Cloudflares IP-intervall i brandväggen.
  • Kontrollera IP-adressen i DNS-posten.
Se även:
Definierad i Cloudflare

Betydelse

Cloudflare kan inte nå ursprungsservern, till exempel på grund av ett DNS-fel eller en saknad rutt.

Vanliga orsaker

  • Fel IP-adress i DNS-posten
  • Servern eller datacentret är offline, routningsproblem

Så åtgärdar du det

  • Kontrollera DNS-posten.
  • Fråga hostingleverantören och kontrollera nätverket.
Se även:
Definierad i Cloudflare

Betydelse

Cloudflare kunde ansluta, men ursprungsservern skickade inget HTTP-svar inom 100 sekunder.

Vanliga orsaker

  • Långvariga skript, exporter eller importer
  • En överbelastad server

Så åtgärdar du det

  • Låt bakgrundsjobb ta hand om långvariga uppgifter.
  • Minska svarstiden.
  • Använd streaming eller statusförfrågningar för långa uppgifter i stället för en enda förfrågan.
Se även:
Definierad i Cloudflare

Betydelse

TLS-handskakningen mellan Cloudflare och ursprungsservern misslyckades.

Vanliga orsaker

  • Ursprungsservern erbjuder inte HTTPS på port 443
  • Det finns ingen gemensam chiffersvit eller TLS-version
  • SNI saknas eller certifikatet stämmer inte

Så åtgärdar du det

  • Kontrollera ursprungsserverns TLS-konfiguration.
  • Välj det SSL/TLS-läge i Cloudflare som passar ursprungsservern.
Se även:
Definierad i Cloudflare

Betydelse

Cloudflare kunde inte verifiera ursprungsserverns certifikat. Inträffar i läget ”Full (strict)”.

Vanliga orsaker

  • Utgånget, självsignerat eller inte utfärdat för domänen
  • Ett mellanliggande certifikat saknas

Så åtgärdar du det

  • Installera ett giltigt certifikat (Let's Encrypt eller ett Cloudflare Origin Certificate).
  • Skicka hela certifikatkedjan.
Se även:
Definierad i Cloudflare

Exempelresultat

Vad referensen för HTTP-statuskoder visar dig

Ange ett nummer eller sökord och få genast matchande statuskoder, var och en med betydelse, typiska orsaker, lösning och, där det passar, ett färdigt exempel för nginx eller Apache. Tre exempel:

Exempel 1: Slå upp ett nummer

Indata:

502

Utdata: en post med dessa uppgifter

Statuskod och namn
502 Bad Gateway
Klass
5xx Serverfel
Betydelse
En server som fungerar som gateway eller proxy (nginx, Apache, Load Balancer, CDN) har fått ett ogiltigt svar, eller inget svar alls, från servern bakom. Felet ligger mellan servrarna, inte hos besökaren.
Första vanliga orsaken
Backend-tjänsten (PHP-FPM, Node.js, Gunicorn, Docker-container) körs inte eller har kraschat
Första lösningssteget
Kontrollera backend-tjänstens status och starta om den (systemctl status, docker ps).
Exempel att kopiera (nginx)
tail -n 50 /var/log/nginx/error.log

Resultat i ord: Vid 502 Bad Gateway svarar servern bakom proxyn inte alls eller med ett ogiltigt svar. Posten anger 5 vanliga orsaker och 5 åtgärder, till exempel att kontrollera backend-tjänsten och läsa felloggen. Felet finns mellan servrarna, inte hos besökaren.

Exempel 2: Sök efter en klass

Indata:

3xx

Utdata: alla koder i klassen 3xx från listan

Träffar vid sökning efter 3xx
StatuskodNamn
300Multiple Choices
301Moved Permanently
302Found
303See Other
304Not Modified
307Temporary Redirect
308Permanent Redirect

Resultat i ord: Listan innehåller 7 koder i klassen 3xx, de föråldrade 305 och 306 saknas. Alla omdirigerar inte, 304 hänvisar till exempel till cachen. De viktigaste är 301 (permanent flyttad), 302 (tillfälligt omdirigerad) och 304 (oförändrad, använd cachen). Varje post förklarar när den förekommer och hur du använder den rätt.

Exempel 3: Sök efter ett nyckelord

Indata:

timeout

Utdata: bästa träffarna först

  1. 408 Request Timeout
  2. 504 Gateway Timeout
  3. 524 A Timeout Occurred
  4. 102 Processing
  5. 522 Connection Timed Out

Resultat i ord: 6 poster innehåller sökordet. Träffar i namnet visas först: 408 Request Timeout, 504 Gateway Timeout, 524 A Timeout Occurred. Därefter följer poster där ”timeout” bara förekommer i förklaringar, orsaker eller konfigurationsexempel.

Så fungerar det

Så slår du upp en statuskod

Fyra steg från nummer till färdigt exempel – utan konto, utan nedladdning.

Steg 1

Ange statuskod eller sökord

Skriv ett nummer som 502, ett namn som ”bad gateway” eller ett sökord som ”timeout” eller ”omdirigering” i sökfältet. Träffarna visas direkt medan du skriver.

Steg 2

Filtrera efter klass

Med filtren avgränsar du till en klass: 3xx för omdirigeringar, 4xx för klientfel och 5xx för serverfel. ”Vanliga sökningar” visar koder du stöter på i vardagen.

Steg 3

Expandera post

Klicka på en kod för att se vad den betyder och, där det är relevant, vanliga orsaker, lösningssteg och effekten på sökmotoroptimering. ”Se även” tar dig till relaterade koder.

Steg 4

Kopiera och anpassa exempel

Där det är till hjälp finns ett exempel för nginx, Apache eller Shell. Kopiera det, anpassa sökvägar och värden till din server och ladda om webbservern.

Vanliga fel

404, 403, 500, 502, 503: de vanligaste HTTP-felen kort förklarade

Korta svar om varje felkod. Med ”Alla orsaker och lösningar” öppnar du hela posten i referensen ovan.

400

Bad Request

Servern förstår inte begäran. Vanliga orsaker är en felaktig adress, för stora eller skadade cookies och en ogiltig request-header. Radera sidans cookies och kontrollera adressen.

Alla orsaker och lösningar

401

Unauthorized

Sidan kräver inloggning, och din saknas eller är ogiltig. Med rätt inloggningsuppgifter fungerar det, till exempel för lösenordsskydd via .htaccess eller ett API med token.

Alla orsaker och lösningar

403

Forbidden

Servern känner igen adressen men nekar dig åtkomst. Vanliga orsaker är felaktiga filrättigheter, ett saknat indexdokument, en IP-blockering eller en brandväggsregel.

Alla orsaker och lösningar

404

Not Found

Det finns inget på den här adressen: Det kan vara ett skrivfel, sidan kan ha tagits bort eller flyttats, eller så stämmer inte användningen av stora och små bokstäver. Flyttade sidor omdirigerar du med 301. Enstaka 404-fel skadar inte rankningen.

Alla orsaker och lösningar

429

Too Many Requests

Du har skickat för många förfrågningar på kort tid. Vänta så länge som anges i headern Retry-After och försök sedan igen med längre intervall.

Alla orsaker och lösningar

500

Internal Server Error

Ett allmänt serverfel. Orsaken finns i webbserverns fellogg. Vanliga orsaker är ett kodfel, en trasig .htaccess, felaktiga behörigheter eller en databas som inte går att nå.

Alla orsaker och lösningar

502

Bad Gateway

Proxyn eller lastbalanseraren får inget giltigt svar från backend, oftast för att PHP-FPM, Node.js eller applikationsservern inte körs eller har kraschat. Kontrollera tjänsten och dess logg.

Alla orsaker och lösningar

503

Service Unavailable

Servern är överbelastad eller under underhåll och anger att det bara är tillfälligt. Vid underhåll är 503 med headern Retry-After rätt kod.

Alla orsaker och lösningar

504

Gateway Timeout

Backend svarar för långsamt och proxyn ger upp när väntetiden löper ut. Leta efter långsamma frågor eller skript och öka vid behov timeoutvärdet, för nginx proxy_read_timeout.

Alla orsaker och lösningar

Översikt

De fem klasserna av HTTP-svarskoder

Den första siffran visar vilken typ av fel det är. På så sätt kan du se om felet ligger hos besökaren eller servern utan att slå upp det.

1xx

Information

Förfrågan har tagits emot och behandlas vidare. Det är ett mellanbesked, inte ett resultat ännu.

Ofta:

4 koder i denna referens

2xx

Lyckades

Förfrågan förstods och behandlades utan fel. 200 är normalfallet.

Ofta: 200, 201, 204

10 koder i denna referens

3xx

Vidarebefordran

Klienten måste ta ytterligare ett steg, oftast följa en ny adress eller använda cachen.

Ofta: 301, 302, 304, 307, 308

7 koder i denna referens

4xx

Klientfel

Förfrågan är felaktig eller inte tillåten. Ur serverns perspektiv ligger felet hos klienten, till exempel 404 för en okänd adress.

Ofta: 400, 401, 403, 404, 405, 410, 413, 422, 429

31 koder i denna referens

5xx

Serverfel

Förfrågan var korrekt, men servern kunde inte utföra den. Felet ligger hos den som driver servern, till exempel vid 500, 502 eller 503.

Ofta: 500, 502, 503, 504

18 koder i denna referens

Vidarebefordringar

301 eller 302? Jämför omdirigeringskoderna

Fem koder omdirigerar. De skiljer sig åt på två punkter: om omdirigeringen är permanent och om klienten behåller HTTP-metoden.

Jämförelse av omdirigeringskoderna 301, 302, 303, 307 och 308
StatuskodVaraktighetMetoden behålls
301 Moved PermanentlyFlytt av en sida eller domän, http till https, www till huvuddomänen. Standard för SEO.permanentinte garanterat
302 FoundTidsbegränsad omdirigering, till exempel för kampanjer, inloggning eller språkval.tillfälligtinte garanterat
303 See OtherOmdirigera till en resultatsida efter en POST (Post/Redirect/Get). Webbläsaren hämtar den med GET.tillfälligtinte garanterat
307 Temporary RedirectTillfällig omdirigering av ett API eller formulär där metoden måste behållas.tillfälligtja
308 Permanent RedirectPermanent flytt av ett API eller ett formulärmål där metoden måste behållas.permanentja

Tumregel: 301 för vanliga sidor som flyttas permanent, 302 för tillfälliga flyttar. Om en API-förfrågan eller ett formulär ska behålla POST, använd 308 i stället för 301 och 307 i stället för 302. ”Inte garanterat” betyder att webbläsare ofta ändrar POST till GET.

Praktik

Så hittar du en sidas statuskod

I webbläsaren öppnar du utvecklarverktygen (F12). På fliken ”Nätverk” ser du koden för varje begäran. På servern eller i skalet hjälper de här fyra kommandona:

Visar bara svarsrubrikerna; den första raden innehåller statuskoden.

curl -I https://example.com/seite

Visar endast statuskoden, praktiskt för skript och övervakning.

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/seite

Följer omdirigeringar och visar varje steg med statuskod och mål.

curl -sIL https://example.com/alt | grep -iE '^(HTTP|location)'

Räknar statuskoder i åtkomstloggen från nginx eller Apache (combined-format) och sorterar dem efter frekvens.

awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -rn

Upptäck mer

Fler verktyg

FAQ

Vanliga frågor

Korta svar om de vanligaste HTTP-koderna, deras orsaker och den här referensen.

En HTTP-statuskod är ett tresiffrigt tal som en server returnerar för varje begäran. Den talar om ifall begäran lyckades och, om inte, varför. Den första siffran anger klassen: 1xx information, 2xx framgång, 3xx omdirigering, 4xx klientfel, 5xx serverfel. De HTTP-felkoder du oftast stöter på är 400, 401, 403, 404 och 429 på klientsidan samt 500, 502, 503 och 504 på serversidan. Filtret ”Vanliga sökningar” i referensen visar dem tillsammans med andra koder som ofta förekommer.

200 OK betyder att begäran lyckades och att servern skickar med sidan eller datan. Det är det normala för sidor som besökare och sökmotorer ska kunna se. Se till att felsidor inte levereras med 200, annars uppstår ”Soft 404”. Relaterade koder: 201 Created anger att en ny resurs har skapats, 204 No Content ett lyckat svar utan body och 304 Not Modified att filen inte har ändrats och att webbläsaren använder sin kopia.

Servern förstår inte begäran och avvisar den innan den behandlas. Vanliga orsaker är en felaktig adress med ogiltiga tecken, för stora eller skadade cookies, en för stor header eller en felaktigt formaterad request body för ett API. Som besökare kan du radera sidans cookies. Som administratör kontrollerar du begäran, headers och loggen. Om formatet stämmer men ett värde är ogiltigt, till exempel om ett obligatoriskt fält saknas, svarar många API:er i stället med 422 Unprocessable Content (tidigare ”Unprocessable Entity”).

Servern går att nå men känner inte igen adressen. Kontrollera först stavfel och filnamnets stora och små bokstäver, eftersom Linux skiljer på dem. Kontrollera sedan sökvägen på webbservern och, för WordPress eller en single-page-app, omskrivningsreglerna (try_files i nginx). Omdirigera flyttade sidor med 301. Enstaka 404-fel skadar inte rankningen, men viktiga sidor med backlinks som leder ingenstans kan göra det.

401 Unauthorized betyder ”inte inloggad”: med giltiga inloggningsuppgifter fungerar det. 403 Forbidden betyder ”inloggad eller inte, åtkomst nekas”: servern vägrar ändå ge åtkomst. Vanliga orsaker till 403 är fel filbehörigheter eller ägare, ett saknat indexdokument, IP-blockeringar och WAF-regler. CHMOD-räknaren omvandlar behörigheter som 755 för kataloger och 644 för filer. Till CHMOD-kalkylatorn

Koden avslöjar inte orsaken. Den finns i webbserverns fellogg (för nginx /var/log/nginx/error.log, för Apache /var/log/apache2/error.log) eller i PHP-loggen. Vanliga orsaker är ett kodfel, en felaktig .htaccess, fel filbehörigheter, en databas som inte kan nås eller att PHP:s minnesgräns har uppnåtts. Ångra den senaste ändringen (Plugin, Update, regel) och testa konfigurationen med nginx -t eller apachectl configtest.

502 Bad Gateway: Proxyn får ett ogiltigt svar eller inget svar alls från backend, oftast för att tjänsten (PHP-FPM, Node.js) inte körs. 503 Service Unavailable: Servern är överbelastad eller under underhåll och meddelar det själv. 504 Gateway Timeout: Backend svarar, men för långsamt, oftast på grund av en tung fråga eller överbelastning. Första steget för alla tre är att läsa felloggen och kontrollera backendtjänsten. Vid planerat underhåll är 503 med headern ”Retry-After” rätt kod, inte en underhållssida med 200.

301 anger en permanent flytt: Sökmotorer tar över den nya adressen och för vidare rankningen. 302 anger en tillfällig omdirigering: Den gamla adressen ligger kvar i indexet. Använd 301 för flytt av domäner och sidor och 302 för tillfälliga åtgärder som kampanjer. Om metoden (POST) måste behållas för ett formulär eller API använder du 308 i stället för 301 och 307 i stället för 302.

Det här är inte koder från HTTP-standarden. 520 till 526 kommer från Cloudflare och betyder att Cloudflare, inte din besökare, har problem med din ursprungsserver: 520 okänt fel, 521 anslutning nekad, 522 anslutningen kunde inte upprättas, 523 ursprungsservern kan inte nås, 524 inget svar inom 100 sekunder, 525 TLS-handskakningen misslyckades, 526 ogiltigt certifikat. Ofta hjälper det att tillåta Cloudflares IP-intervall i brandväggen och kontrollera webbservern och certifikatet. 444 och 499 finns bara i nginx-loggen: Vid 444 stänger nginx avsiktligt anslutningen utan svar, och vid 499 har klienten stängt anslutningen innan svaret kom.

I webbläsaren öppnar du utvecklarverktygen med F12 och tittar i kolumnen ”Status” på fliken ”Nätverk”. I terminalen visar curl -I https://example.com headers tillsammans med statuskoden, medan curl -s -o /dev/null -w "%{http_code}" https://example.com bara ger dig siffran. Med curl -sIL ser du även varje omdirigering längs vägen. Den här referensen hämtar inte några adresser: Den körs helt i din webbläsare. Endast sökordet och klassfiltret visas i adressfältet, så att du kan dela en sökning. En omdirigeringskedja kan du kontrollera med Redirect Checker. Till Redirect Checker

Fler frågor?

Kontakta supporten
Driver du något eget?

Statuskod 200 i stället för 502: hosting som levererar din applikation tillförlitligt

En VPS från ZAP-Hosting ser till att din applikation eller ditt projekt finns online tillförlitligt.

4,4/5 Trustpilot32.000+ Aktiva servrarSedan 2010

Ingen konfigurering. Ingen risk. Online på några sekunder.

Flexibel avtalstidAvsluta när som helstOnline på 60 sekunder

Letar du efter fler verktyg? Visa alla utvecklarverktyg