Spring til indhold
Academi.dk

Web og HTTP

HTTP-statuskoder

Begynder DA↔EN-ordliste

Statuskoden er de tre cifre, serveren svarer med. Det første ciffer siger, hvilken slags svar det er: 2 betyder det gik godt, 3 at du skal et andet sted hen, 4 at du gjorde noget forkert, og 5 at serveren gjorde. Resten er detaljer.

Forudsætter, at du har set http-protokollen .

Første ciffer er hele historien

SerieBetyderHvem har problemet
2xxdet lykkedesingen
3xxligger et andet stedingen
4xxforespørgslen var forkertdig
5xxserveren fejlededem

Kan du den tabel, kan du gætte betydningen af en kode, du aldrig har set før. Til eksamen er skellet mellem 4xx og 5xx det, der oftest bliver spurgt til: 4xx er din fejl, 5xx er serverens.

De koder, du faktisk møder

200 OK: det gik. Svaret indeholder det, du bad om.

201 Created: noget blev oprettet. Svar på en vellykket POST.

204 No Content: det gik, men der er intet indhold. Typisk efter en DELETE.

301 Moved Permanently: siden er flyttet for altid. Browseren følger med og husker det.

302 Found: flyttet midlertidigt. Browseren følger med, men husker det ikke.

304 Not Modified: du har allerede den nyeste udgave i cachen; brug den.

400 Bad Request: serveren kunne ikke forstå det, du sendte. Ofte forkert formateret JSON eller et manglende felt.

401 Unauthorized: du er ikke logget ind. Navnet er misvisende; den handler om autentifikation.

403 Forbidden, du er logget ind, men må ikke det her.

404 Not Found, der er ikke noget på den adresse.

409 Conflict: det kolliderer med noget, der allerede findes.

429 Too Many Requests: du spørger for tit. Vent.

500 Internal Server Error: serveren gik ned. Du kan ikke gøre noget ved det.

503 Service Unavailable: serveren er nede eller overbelastet lige nu.

401 eller 403?

Det er den klassiske forvekslingsopgave, så her er huskeremsen: 401 = hvem er du? 403 = jeg ved, hvem du er, og nej. Første handler om at bevise identitet, anden om at have rettigheder.

Hvad du gør ved dem

  • 4xx: ret din forespørgsel. Er adressen rigtig? Er metoden rigtig? Er indholdet gyldig JSON? Mangler der en Authorization-header?
  • 5xx: prøv igen om lidt, og vis brugeren en forståelig besked. Er det din egen server, ligger svaret i dens log.
  • 3xx: som regel ingenting. Browseren og fetch følger selv med.

En brugbar vane i din egen kode: skriv statuskoden ud, når noget går galt. Det sparer meget gætteri.

Kort opsamling

  • 2xx godt, 3xx flyttet, 4xx din fejl, 5xx deres.
  • 401 er “ikke logget ind”, 403 er “ikke tilladt”.
  • 404 er ikke en netværksfejl, fetch kaster ikke.
  • Kig altid på koden, før du gætter på årsagen.

Læs videre

Senest gennemgået .