tigtools

HTTP-statuskoder

Slå enhver HTTP-statuskode op: hvad den betyder, hvornår servere sender den, og hvilken specifikation der definerer den. Søg efter nummer eller søgeord, filtrer efter klasse, og link direkte til en kode.

Kører i din browser Ingen tilmelding

79 koder vist

  • 100 Continue

    Serveren har modtaget forespørgselsheaderne, og klienten kan sende bodyen. Ses, når en klient sender “Expect: 100-continue” før upload af en stor body.

    Defineret i RFC 9110

  • 101 Switching Protocols

    Serveren accepterer at skifte til den protokol, klienten bad om i Upgrade-headeren. Ses, når en forbindelse opgraderes til WebSocket.

    Defineret i RFC 9110

  • 102 Processing

    Forældet eller ubrugt

    Serveren har accepteret en WebDAV-forespørgsel, men er ikke færdig med den endnu. Den blev fjernet fra senere WebDAV-specifikationer og bruges sjældent i dag.

    Defineret i RFC 2518

  • 103 Early Hints

    Sendes før det endelige svar, så browseren kan begynde at forudindlæse ressourcer, der er angivet i Link-headere. Bruges af CDN'er og servere til at gøre sideindlæsning hurtigere.

    Defineret i RFC 8297

  • 200 OK

    Forespørgslen lykkedes, og svaret indeholder resultatet. Dette er det normale svar ved indlæsning af en side eller et vellykket API-kald.

    Defineret i RFC 9110

  • 201 Created

    Forespørgslen lykkedes og oprettede en ny ressource, normalt identificeret af Location-headeren. Typisk efter en vellykket POST, der opretter en post.

    Defineret i RFC 9110

  • 202 Accepted

    Forespørgslen blev accepteret til behandling, men er ikke færdig. Bruges af API'er, der sætter arbejde i kø, f.eks. eksporter eller batchjob.

    Defineret i RFC 9110

  • 203 Non-Authoritative Information

    Forespørgslen lykkedes, men en transformerende proxy ændrede det indhold, som origin-serveren returnerede.

    Defineret i RFC 9110

  • 204 No Content

    Forespørgslen lykkedes, og der er intet indhold at returnere. Almindeligt ved DELETE-forespørgsler og ved lagring af data, når klienten ikke har brug for et svar-body.

    Defineret i RFC 9110

  • 205 Reset Content

    Forespørgslen lykkedes, og klienten bør nulstille dokumentvisningen, f.eks. tømme en formular. Bruges sjældent.

    Defineret i RFC 9110

  • 206 Partial Content

    Serveren returnerer kun det byteområde, klienten bad om. Ses, når videoer streames, downloads genoptages, eller en klient sender en Range-header.

    Defineret i RFC 9110

  • 207 Multi-Status

    Et WebDAV-svar, der indeholder separate statuskoder for flere ressourcer i en XML-body.

    Defineret i RFC 4918

  • 208 Already Reported

    Bruges i et WebDAV 207-svar for at undgå at angive de samme bundne ressourcer igen.

    Defineret i RFC 5842

  • 226 IM Used

    Serveren anvendte instansmanipulationer (f.eks. delta-kodning) på den aktuelle ressource. Ses meget sjældent.

    Defineret i RFC 3229

  • 300 Multiple Choices

    Ressourcen har flere repræsentationer, og klienten bør vælge én. Bruges sjældent i praksis.

    Defineret i RFC 9110

  • 301 Moved Permanently

    Ressourcen er flyttet permanent til URL'en i Location-headeren. Browsere og søgemaskiner opdaterer deres links; nogle klienter ændrer POST til GET, når de følger den.

    Defineret i RFC 9110

  • 302 Found

    Ressourcen ligger midlertidigt på en anden URL angivet i Location-headeren. Almindeligt efter login og ved kortvarige omdirigeringer; browsere følger den normalt med GET.

    Defineret i RFC 9110

  • 303 See Other

    Klienten bør hente resultatet fra en anden URL med GET. Bruges efter en formular-POST til at omdirigere til en bekræftelsesside (Post/Redirect/Get-mønsteret).

    Defineret i RFC 9110

  • 304 Not Modified

    Den cachelagrede kopi er stadig gyldig, så serveren sender ingen body. Ses når en browser revaliderer en cachet fil med If-None-Match eller If-Modified-Since.

    Defineret i RFC 9110

  • 305 Use Proxy

    Forældet eller ubrugt

    Bad klienten om at bruge en proxy angivet i Location-headeren. Den er forældet af sikkerhedsmæssige årsager, og browsere ignorerer den.

    Defineret i RFC 9110

  • 306 (Unused)

    Forældet eller ubrugt

    Reserveret. Den blev brugt i et tidligere udkast til HTTP/1.1 og bruges ikke længere.

    Defineret i RFC 9110

  • 307 Temporary Redirect

    Ressourcen ligger midlertidigt på en anden URL, og klienten skal gentage forespørgslen med samme metode og body. Bruges også af browsere til interne HSTS-omdirigeringer til HTTPS.

    Defineret i RFC 9110

  • 308 Permanent Redirect

    Ressourcen er flyttet permanent, og klienten skal bruge samme metode og body på den nye URL. Den permanente pendant til 307, sikker til omdirigering af POST-forespørgsler.

    Defineret i RFC 9110

  • 400 Bad Request

    Serveren kan ikke behandle forespørgslen, fordi den er fejlformet, f.eks. ugyldig JSON, en forkert query-parameter eller en ødelagt cookie.

    Defineret i RFC 9110

  • 401 Unauthorized

    Forespørgslen mangler gyldige loginoplysninger. På trods af navnet betyder den „ikke autentificeret“; serveren sender en WWW-Authenticate-header, der beskriver, hvordan man logger ind.

    Defineret i RFC 9110

  • 402 Payment Required

    Reserveret til fremtidig brug i HTTP-specifikationen. Nogle API'er og betalingstjenester bruger den, når en betaling eller et abonnement er påkrævet.

    Defineret i RFC 9110

  • 403 Forbidden

    Serveren forstod forespørgslen, men afviser den, og det hjælper ikke at logge ind igen. Ses, når rettigheder mangler, en mappeliste er deaktiveret, eller en firewall blokerer klienten.

    Defineret i RFC 9110

  • 404 Not Found

    Serveren kan ikke finde den ønskede ressource. Som regel et fejlskrevet eller forældet link, en slettet side eller en forkert API-rute.

    Defineret i RFC 9110

  • 405 Method Not Allowed

    Ressourcen findes, men understøtter ikke den anvendte HTTP-metode, f.eks. POST til en skrivebeskyttet URL. Svaret angiver de tilladte metoder i Allow-headeren.

    Defineret i RFC 9110

  • 406 Not Acceptable

    Serveren kan ikke producere et svar i nogen af de formater, der er angivet i klientens Accept-headere.

    Defineret i RFC 9110

  • 407 Proxy Authentication Required

    Som 401, men klienten skal først autentificere sig over for en proxy. Ses på virksomhedsnetværk med en autentificerende proxy.

    Defineret i RFC 9110

  • 408 Request Timeout

    Serveren fik timeout, mens den ventede på, at klienten blev færdig med at sende forespørgslen. Ses ved langsomme eller afbrudte forbindelser.

    Defineret i RFC 9110

  • 409 Conflict

    Forespørgslen er i konflikt med ressourcens nuværende tilstand, f.eks. en redigeringskonflikt eller oprettelse af noget, der allerede findes.

    Defineret i RFC 9110

  • 410 Gone

    Ressourcen er blevet fjernet permanent og kommer ikke tilbage. I modsætning til 404 fortæller den søgemaskiner, at de hurtigere skal fjerne URL'en.

    Defineret i RFC 9110

  • 411 Length Required

    Serveren kræver en Content-Length-header, og anmodningen indeholdt ikke en.

    Defineret i RFC 9110

  • 412 Precondition Failed

    En betingelse i anmodningens headere, f.eks. If-Match, blev ikke opfyldt. Bruges til at forhindre overskrivning af en ressource, der har ændret sig, siden klienten sidst læste den.

    Defineret i RFC 9110

  • 413 Content Too Large

    Anmodningens indhold er større end serveren accepterer. Ses, når man uploader en fil over en grænse som nginx's client_max_body_size.

    Defineret i RFC 9110

  • 414 URI Too Long

    URL'en er længere end serveren vil behandle. Skyldes normalt, at en formular sender for mange data med GET eller en redirect-løkke, der bliver ved med at tilføje parametre.

    Defineret i RFC 9110

  • 415 Unsupported Media Type

    Serveren understøtter ikke formatet på anmodningens indhold, f.eks. når der sendes XML til et endpoint, der forventer application/json.

    Defineret i RFC 9110

  • 416 Range Not Satisfiable

    Det byteinterval, der blev anmodet om i Range-headeren, ligger uden for ressourcens størrelse.

    Defineret i RFC 9110

  • 417 Expectation Failed

    Serveren kan ikke opfylde kravet i klientens Expect-header.

    Defineret i RFC 9110

  • 418 I'm a teapot

    En aprilsnar fra Hyper Text Coffee Pot Control Protocol fra 1998: en tepotte, der nægter at brygge kaffe. HTTP reserverer koden som ubrugt, men nogle servere returnerer den som et Easter egg eller for at afvise uønskede bots.

    Defineret i RFC 2324 / RFC 9110 (Unused)

  • 419 Page Expired

    Ikke-standard

    Ikke en standardkode. Laravel returnerer den, når en formulars CSRF-token mangler eller er udløbet, typisk efter at sessionen er udløbet.

    Defineret i Laravel

  • 420 Enhance Your Calm

    Ikke-standard

    Ikke en standardkode. Det gamle Twitter API brugte den til rate limiting; 429 er standardkoden for dette.

    Defineret i Twitter API v1

  • 421 Misdirected Request

    Anmodningen nåede en server, der ikke kan producere et svar for denne host, f.eks. når en HTTP/2-forbindelse genbruges til et andet domæne.

    Defineret i RFC 9110

  • 422 Unprocessable Content

    Anmodningen er velformet, men indholdet er ugyldigt, f.eks. en formular med fejlede valideringsregler. Bruges bredt af API'er til valideringsfejl.

    Defineret i RFC 9110

  • 423 Locked

    WebDAV-ressourcen er låst og kan ikke ændres.

    Defineret i RFC 4918

  • 424 Failed Dependency

    WebDAV-anmodningen mislykkedes, fordi en anden handling, som den afhang af, mislykkedes.

    Defineret i RFC 4918

  • 425 Too Early

    Serveren vil ikke behandle en anmodning, der kan blive afspillet igen, f.eks. en sendt i TLS 1.3 early data.

    Defineret i RFC 8470

  • 426 Upgrade Required

    Serveren afviser anmodningen med den nuværende protokol og angiver den krævede protokol i Upgrade-headeren.

    Defineret i RFC 9110

  • 428 Precondition Required

    Serveren kræver en betinget anmodning (f.eks. med If-Match) for at forhindre tabte opdateringer.

    Defineret i RFC 6585

  • 429 Too Many Requests

    Klienten har sendt for mange anmodninger inden for et givet tidsrum. API'er bruger den til rate limiting og inkluderer ofte en Retry-After-header, der angiver, hvornår man kan prøve igen.

    Defineret i RFC 6585

  • 431 Request Header Fields Too Large

    Anmodningens headere er for store, ofte på grund af for mange eller for store cookies. At rydde webstedets cookies løser det som regel.

    Defineret i RFC 6585

  • 444 No Response

    Ikke-standard

    Ikke en standardkode. nginx bruger den internt til at lukke forbindelsen uden at sende noget svar, ofte for at afvise uønsket trafik; klienter modtager den aldrig.

    Defineret i nginx

  • 451 Unavailable For Legal Reasons

    Ressourcen er utilgængelig af juridiske årsager, f.eks. en retskendelse eller statslig censur. Nummeret henviser til romanen Fahrenheit 451.

    Defineret i RFC 7725

  • 494 Request Header Too Large

    Ikke-standard

    Ikke en standardkode. nginx' egen variant af 431, logget når anmodningsheadere overskrider dens buffergrænser.

    Defineret i nginx

  • 495 SSL Certificate Error

    Ikke-standard

    Ikke en standardkode. nginx returnerer den, når et klientcertifikat ikke består verifikation.

    Defineret i nginx

  • 496 SSL Certificate Required

    Ikke-standard

    Ikke en standardkode. nginx returnerer den, når et påkrævet klientcertifikat ikke blev angivet.

    Defineret i nginx

  • 497 HTTP Request Sent to HTTPS Port

    Ikke-standard

    Ikke en standardkode. nginx returnerer den, når en almindelig HTTP-anmodning sendes til en port, der er konfigureret til HTTPS.

    Defineret i nginx

  • 499 Client Closed Request

    Ikke-standard

    Ikke en standardkode. nginx logger den, når klienten lukkede forbindelsen, før serveren svarede, f.eks. når en bruger afbryder en langsom side, eller ved en timeout på klientsiden.

    Defineret i nginx

  • 500 Internal Server Error

    Serveren stødte på en uventet fejl og kunne ikke fuldføre anmodningen. En generisk fejl fra en bug, et nedbrud eller en fejlkonfiguration; detaljerne findes i serverloggene.

    Defineret i RFC 9110

  • 501 Not Implemented

    Serveren understøtter ikke den nødvendige funktionalitet, f.eks. en HTTP-metode, den ikke genkender.

    Defineret i RFC 9110

  • 502 Bad Gateway

    En gateway eller proxy modtog et ugyldigt svar fra upstream-serveren. Forekommer ofte, når applikationen bag nginx eller en load balancer er gået ned eller er ved at genstarte.

    Defineret i RFC 9110

  • 503 Service Unavailable

    Serveren kan midlertidigt ikke håndtere anmodningen, fordi den er overbelastet eller nede på grund af vedligeholdelse. En Retry-After-header kan angive, hvornår du kan prøve igen.

    Defineret i RFC 9110

  • 504 Gateway Timeout

    En gateway eller proxy modtog ikke noget svar fra upstream-serveren i tide. Ses, når en backend-anmodning er for langsom, f.eks. en lang databaseforespørgsel.

    Defineret i RFC 9110

  • 505 HTTP Version Not Supported

    Serveren understøtter ikke den HTTP-version, der blev brugt i anmodningen.

    Defineret i RFC 9110

  • 506 Variant Also Negotiates

    En fejl i serverens indholdsforhandling: den valgte variant er selv konfigureret til at forhandle.

    Defineret i RFC 2295

  • 507 Insufficient Storage

    Serveren kan ikke gemme det, der er nødvendigt for at fuldføre anmodningen, f.eks. fordi disken er fuld på en WebDAV-server.

    Defineret i RFC 4918

  • 508 Loop Detected

    Serveren stoppede en WebDAV-handling, fordi den fandt en uendelig løkke.

    Defineret i RFC 5842

  • 509 Bandwidth Limit Exceeded

    Ikke-standard

    Ikke en standardkode. Bruges af nogle shared hosting-opsætninger (Apache-moduler, cPanel), når et websted overskrider sin båndbreddekvote.

    Defineret i Apache / cPanel

  • 510 Not Extended

    Forældet eller ubrugt

    Anmodningen kræver yderligere udvidelser for at kunne opfyldes. Defineret af en eksperimentel specifikation, der nu er historisk.

    Defineret i RFC 2774

  • 511 Network Authentication Required

    Klienten skal autentificere sig for at få netværksadgang. Sendes af captive-portaler på Wi-Fi på hoteller, i lufthavne eller caféer, før du logger ind.

    Defineret i RFC 6585

  • 520 Web Server Returned an Unknown Error

    Ikke-standard

    Ikke en standardkode. Cloudflare returnerer den, når origin-serveren sendte et tomt, ukendt eller uventet svar.

    Defineret i Cloudflare

  • 521 Web Server Is Down

    Ikke-standard

    Ikke en standardkode. Cloudflare returnerer den, når origin-serveren afviste forbindelsen, typisk fordi webserveren er nede eller blokerer Cloudflares IP-adresser.

    Defineret i Cloudflare

  • 522 Connection Timed Out

    Ikke-standard

    Ikke en standardkode. Cloudflare returnerer den, når TCP-forbindelsen til origin-serveren fik timeout.

    Defineret i Cloudflare

  • 523 Origin Is Unreachable

    Ikke-standard

    Ikke en standardkode. Cloudflare returnerer den, når den ikke kan nå origin-serveren, f.eks. på grund af et DNS- eller routingproblem.

    Defineret i Cloudflare

  • 524 A Timeout Occurred

    Ikke-standard

    Ikke en standardkode. Cloudflare returnerer den, når den oprettede forbindelse til origin-serveren, men ikke modtog et HTTP-svar inden for dens timeout (100 sekunder som standard).

    Defineret i Cloudflare

  • 525 SSL Handshake Failed

    Ikke-standard

    Ikke en standardkode. Cloudflare returnerer den, når SSL/TLS-håndtrykket med origin-serveren mislykkedes.

    Defineret i Cloudflare

  • 526 Invalid SSL Certificate

    Ikke-standard

    Ikke en standardkode. Cloudflare returnerer den, når origin-serverens SSL-certifikat er ugyldigt, og SSL-tilstanden Full (strict) er aktiveret.

    Defineret i Cloudflare

Sådan bruger du det

  1. Indtast et kodenummer (f.eks. 404 eller bare 5 for alle serverfejl) eller et søgeord som “redirect” eller “timeout”.
  2. Indsnævr listen med klassefilteret: informativ, succes, omdirigering, klientfejl eller serverfejl.
  3. Brug “Kopier link” på en hvilken som helst kode for at dele et direkte link til den, f.eks. i en fejlrapport.

Sådan fungerer det

Hvert HTTP-svar starter med en trecifret statuskode. Det første ciffer angiver klassen: 1xx informative svar, 2xx succes, 3xx omdirigering, 4xx fejl forårsaget af forespørgslen og 5xx fejl på serversiden. Klienter, der ikke genkender en bestemt kode, behandler den som x00-koden i dens klasse, så en ukendt 4xx-kode håndteres som 400.

Grundkoderne er defineret i RFC 9110 (HTTP Semantics, 2022), som erstattede den ældre RFC 7231. Andre kommer fra udvidelser: WebDAV (RFC 4918), RFC 6585 for 428, 429, 431 og 511, RFC 7725 for 451 og RFC 8470 for 425. RFC 9110 omdøbte også to koder: 413 hedder nu „Content Too Large“, og 422 hedder „Unprocessable Content“, men du kan stadig se dem under deres gamle navne „Payload Too Large“ og „Unprocessable Entity“.

Nogle koder, du møder i logfiler, er slet ikke standarder. nginx bruger 444 og 494–499 internt (499 viser en klient, der opgav at vente), og Cloudflare returnerer 520–526, når den ikke kan få et korrekt svar fra oprindelsesserveren. Disse er markeret som „Non-standard“ i listen. Årsagsfraserne (f.eks. „Not Found“) vises på engelsk som skrevet i specifikationerne; HTTP/2 og HTTP/3 sender kun nummeret.

Eksempler

301 eller 308 ved flytning af et websted

Begge er permanente. Brug 301 til almindelige sideflytninger; brug 308, når klienter skal gentage POST- eller PUT-forespørgsler til den nye URL, fordi nogle klienter ændrer POST til GET efter en 301-kode.

401 versus 403

Et API returnerer 401, når der ikke sendes et token, eller når tokenet er udløbet, så klienten bør logge ind. Det returnerer 403, når tokenet er gyldigt, men brugeren mangler rettigheder, så det hjælper ikke at logge ind igen.

Fejlfinding af en 502 bag nginx

En 502 Bad Gateway fra nginx betyder, at applikationen bag den ikke svarede korrekt. Kontrollér, om app-processen kører, og hvad den loggede; 504 betyder i stedet, at den svarede for langsomt.

Ofte stillede spørgsmål

Hvad er forskellen mellem 404 og 410?

404 betyder, at serveren ikke kan finde ressourcen, og siger intet om fremtiden. 410 betyder, at ressourcen bevidst er fjernet og ikke vender tilbage, hvilket hjælper søgemaskiner med at fjerne URL'en hurtigere.

Bør en valideringsfejl returnere 400 eller 422?

Begge bruges. 400 passer til forespørgsler, serveren ikke kan fortolke, f.eks. ødelagt JSON. 422 passer til forespørgsler, der fortolkes korrekt, men indeholder ugyldige værdier, f.eks. et e-mailfelt uden @.

Er 418 I'm a teapot en rigtig statuskode?

Den stammer fra en aprilsnar-RFC fra 1998. RFC 9110 reserverer 418 som ubrugt, så den ikke tildeles noget andet, og nogle få servere returnerer den som en joke, men den har ingen standardbetydning.

Hvor kommer 499 fra?

499 er nginx-specifik. Den vises i nginx-logfiler, når klienten lukker forbindelsen, før serveren sender et svar. Klienten modtager aldrig en 499; den peger normalt på langsomme svar eller tidsudløb på klientsiden.

Behandler søgemaskiner 302 som 301?

En 302 signalerer en midlertidig flytning, så søgemaskiner beholder normalt den oprindelige URL indekseret i første omgang. Hvis en 302 forbliver i lang tid, kan Google behandle den som en permanent omdirigering. Brug 301 eller 308 til permanente flytninger.

Privatliv

Listen er en del af siden. Søgning og filtrering foregår i din browser; dine søgeord sendes ikke nogen steder hen og indgår ikke i analyser.