Ga naar hoofdinhoud
LibraTool logoLibraTool

Gratis HTTP-statuscodes-referentie

Doorzoekbare referentie voor alle HTTP-statuscodes — wat elke code betekent, wanneer deze wordt gebruikt en veelgebruikte oorzaken. Van 100 tot 511.

Werkt offline na het laden

61 statuscodes

100

Doorgaan

De server heeft de aanvraagheaders ontvangen en de client mag doorgaan met de body.

Gebruikt voor verzoeken met Expect: 100-continue. De server erkent dat deze bereid is om de body te ontvangen voordat de client deze verzendt. Zelden gezien in moderne web-apps.

RFC 9110 ↗
101

Protocollen wisselen

De server schakelt de protocollen over zoals aangevraagd door de client.

Meestal gebruikt voor WebSocket-upgrades — de client vraagt Upgrade: websocket en de server antwoordt 101 om over te schakelen.

RFC 9110 ↗
102

Verwerking

De server heeft het verzoek ontvangen en verwerkt het, maar er is nog geen reactie beschikbaar.

Een WebDAV tussentijdse respons om client-timeouts tijdens langdurige bewerkingen te voorkomen. Verouderd — moderne servers zouden dit niet moeten versturen.

RFC 2518 ↗
103

Vroege hints

Voorlopige headers vóór het definitieve antwoord.

Stelt servers in staat om Link-headers (preload/preconnect) te verzenden terwijl het definitieve antwoord nog wordt voorbereid, zodat browsers kritieke assets sneller kunnen ophalen.

RFC 8297 ↗
200

OK

Het verzoek is geslaagd.

Het standaard succesantwoord. De betekenis hangt af van de HTTP-methode: GET → resource geretourneerd, POST/PUT → actie voltooid.

RFC 9110 ↗
201

Gemaakt

Een nieuwe resource is succesvol aangemaakt.

Gebruikelijk na een POST. Het antwoord moet een Location-header bevatten met de URL van de nieuwe resource.

RFC 9110 ↗
202

Geaccepteerd

Het verzoek is geaccepteerd voor verwerking, maar de verwerking is niet voltooid.

Voor asynchrone bewerkingen — de server plaatst het werk in de wachtrij. De client moet een statuseindpunt opvragen of later teruggaan.

RFC 9110 ↗
203

Niet-gezaghebbende informatie

Het antwoord is gewijzigd door een transformatieproxy.

Het verzoek is geslaagd, maar een tussenpersoon (zoals een cache- of transformatieproxy) heeft de lading van de originele server gewijzigd — bijvoorbeeld door afbeeldingen opnieuw te comprimeren. Zeldzaam in de praktijk.

RFC 9110 ↗
204

Geen inhoud

Het verzoek is geslaagd, maar er is geen antwoordtekst.

Vaak gebruikt voor DELETE-bewerkingen of PUT-updates die geen body hoeven te retourneren. De client mag niet van de huidige pagina navigeren.

RFC 9110 ↗
205

Inhoud opnieuw instellen

Het verzoek is geslaagd; de client moet de documentweergave opnieuw instellen.

Net als 204 wordt geen body geretourneerd — maar de client wordt ook geïnstrueerd om het formulier of weergave die het verzoek heeft veroorzaakt opnieuw in te stellen (bijvoorbeeld formuliervelden wissen voor de volgende invoer).

RFC 9110 ↗
206

Gedeeltelijke inhoud

De server heeft alleen een deel van de resource afgeleverd.

Antwoord op een Range-verzoek. Gebruikt door videospelers en downloadmanagers om onderbroken downloads te hervatten of grote bestanden te streamen.

RFC 9110 ↗
207

Multi-Status

De antwoordtekst bevat meerdere statuscodes voor meerdere bewerkingen.

WebDAV: een XML-body rapporteert het resultaat van verschillende sub-bewerkingen onafhankelijk — bijv. een batch-verplaatsing waarbij sommige items slaagden en andere niet.

RFC 4918 ↗
208

Al gerapporteerd

De leden van een verzameling zijn eerder in het antwoord al vermeld.

WebDAV: gebruikt binnen 207 Multi-Status-antwoorden om te voorkomen dat leden van dezelfde verzameling herhaaldelijk worden vermeld wanneer bindingen lussen creëren.

RFC 5842 ↗
226

IM gebruikt

Het antwoord is het resultaat van instantiemanipulaties die op de resource zijn toegepast.

Delta-codering: de server retourneert een verschil ten opzichte van een eerdere versie in plaats van de volledige resource, wat bandbreedte bespaart. Zeer zelden geïmplementeerd.

RFC 3229 ↗
300

Meerdere keuzes

Verschillende weergaven van de resource zijn beschikbaar.

De server biedt meerdere opties (bijvoorbeeld verschillende formaten of talen) en de client moet er één kiezen. Zelden gebruikt, omdat automatische inhoudsonderhandeling dit meestal afhandelt.

RFC 9110 ↗
301

Permanent verplaatst

De resource is permanent naar een nieuwe URL verplaatst.

Gebruiken voor permanente URL-wijzigingen — zoekmachines zullen hun index bijwerken. SEO-gezag gaat naar de nieuwe URL.

RFC 9110 ↗
302

Gevonden (tijdelijke omleiding)

De resource bevindt zich tijdelijk op een andere URL.

Geeft aan dat de omleiding niet permanent is. Caching is minder agressief dan 301. Gebruiken voor dingen zoals 'aanmelding vereist, omleiding naar /login'.

RFC 9110 ↗
303

Zie elders

Omleiding naar een andere URL met GET.

Gebruikt na POST-inzendingen — het antwoord zegt 'je POST is gelukt, bekijk deze GET-URL voor het resultaat'. Browsers gebruiken altijd GET voor de nieuwe URL.

RFC 9110 ↗
304

Niet gewijzigd

De gecachete versie is nog geldig; gebruik deze.

Antwoord op een voorwaardelijk verzoek (met If-None-Match of If-Modified-Since headers). Bespaart bandbreedte — geen body wordt geretourneerd.

RFC 9110 ↗
307

Tijdelijke omleiding

Zoals 302 maar behoudt de originele HTTP-methode.

Als het origineel POST was, gebruikt de omleiding ook POST. Modern alternatief voor 302 wanneer methodebehoud belangrijk is.

RFC 9110 ↗
308

Permanente omleiding

Zoals 301 maar behoudt de originele HTTP-methode.

Moderne vervanger van 301 wanneer u wilt dat POST-verzoeken na de omleiding POST blijven.

RFC 9110 ↗
400

Onjuist verzoek

De server kon het verzoek niet begrijpen vanwege ongeldige syntaxis.

Veelvoorkomende oorzaken: ongeldige JSON in body, ongeldige queryparameters of ontbrekende vereiste velden. Controleer de aanvraagbody en headers.

RFC 9110 ↗
401

Niet geverifieerd

Verificatie is vereist en niet verstrekt.

De client moet verificatiereferenties opnemen (Authorization-header, cookie, token). 'Unauthorized' is een verkeerde benaming — het betekent eigenlijk 'niet geverifieerd'.

RFC 9110 ↗
402

Betaling vereist

Gereserveerd voor toekomstig gebruik — soms gebruikt voor betaalde API-lagen.

Oorspronkelijk bedoeld voor digitale betalingen. Modern gebruik: API's geven soms 402 terug wanneer een gebruiker zijn betalingsquotum heeft overschreden.

RFC 9110 ↗
403

Verboden

De client is geverifieerd maar heeft geen toestemming.

Verschilt van 401 — de gebruiker IS aangemeld, maar hun account heeft geen toestemming voor deze resource. Controleer rol/toestemmingslogica.

RFC 9110 ↗
404

Niet gevonden

De aangevraagde resource bestaat niet.

De URL is onjuist, de resource is verwijderd of bestond nooit. Servers retourneren soms 404 om te verbergen dat 403 nauwkeuriger zou zijn.

RFC 9110 ↗
405

Methode niet toegestaan

De gebruikte HTTP-methode is niet toegestaan voor deze resource.

Bijvoorbeeld een GET-verzoek naar een eindpunt dat alleen POST accepteert. Het antwoord moet een Allow-header bevatten met geldige methoden.

RFC 9110 ↗
406

Niet aanvaardbaar

Geen weergave komt overeen met de Accept-headers van de client.

De client vroeg om een inhoudstype, taal of codering (via Accept, Accept-Language, Accept-Encoding) die de server niet kan leveren. Veel servers slaan strikte onderhandeling over en retourneren een standaard.

RFC 9110 ↗
407

Proxy-verificatie vereist

De client moet zich eerst bij de proxy verifiëren.

Net als 401, maar uitgegeven door een proxy: de client moet Proxy-Authorization-referenties versturen. Gezien op bedrijfsnetwerken met verificatieproxy's.

RFC 9110 ↗
408

Request Timeout

De server heeft time-out gehad bij het wachten op het verzoek.

De client heeft te lang nodig gehad om de requestbody te verzenden of heeft de verbinding inactief gehouden. Probeer het verzoek opnieuw.

RFC 9110 ↗
409

Conflict

Het verzoek is in tegenspraak met de huidige status van de resource.

Meestal geretourneerd voor gelijktijdige bewerkingsconflicten of dubbele resourcecreatie (bijvoorbeeld het aanmaken van een gebruiker met een e-mailadres dat al bestaat).

RFC 9110 ↗
410

Gone

De resource is verwijderd en komt niet meer terug.

Sterker dan 404 — de server weet expliciet dat de resource VROEGER bestond maar permanent is verwijderd. Zoekmachines zullen het indexeren opheffen.

RFC 9110 ↗
411

Length Required

De server vereist een Content-Length header.

Het verzoek werd geweigerd omdat het een Content-Length header miste en de server bodies van onbekende grootte weigert. Voeg de header toe en probeer het opnieuw.

RFC 9110 ↗
412

Precondition Failed

Een voorwaarde in de requestheaders was niet vervuld.

Geretourneerd wanneer voorwaardelijke headers zoals If-Match of If-Unmodified-Since mislukken — meestal optimistische vergrendeling: iemand anders heeft de resource sinds jouw versie gewijzigd. Haal opnieuw op en probeer opnieuw.

RFC 9110 ↗
413

Payload Too Large

De requestbody overschrijdt de groottelimiet van de server.

Komt vaak voor bij het uploaden van grote bestanden. Serverconfiguratie (nginx, apache) stelt een maximale bodygrootte in. Controleer de serverconfiguratie.

RFC 9110 ↗
414

URI Too Long

De request-URL overschrijdt de lengtelimiet van de server.

Meestal veroorzaakt door zeer lange querystrings (bijvoorbeeld gegevens coderen in een GET). Schakel over naar een POST body of verhoog de serverlimiet als je daar controle over hebt.

RFC 9110 ↗
415

Unsupported Media Type

De server kan het verzonden Content-Type niet verwerken.

Bijvoorbeeld het verzenden van application/xml naar een server die alleen application/json accepteert. Stel de Content-Type header correct in.

RFC 9110 ↗
416

Range Not Satisfiable

Het aangevraagde bytegebied ligt buiten de grootte van de resource.

De Range header vraagt een gedeelte aan dat het bestand niet heeft — bijvoorbeeld het hervatten van een download voorbij het einde van het bestand. Het antwoord moet Content-Range bevatten met de werkelijke grootte.

RFC 9110 ↗
417

Expectation Failed

De server kan niet aan de vereisten van de Expect header voldoen.

Verzonden wanneer de server Expect: 100-continue niet ondersteunt. Sommige clients verzenden deze header standaard bij grote POSTs; het uitschakelen ervan lost de fout meestal op.

RFC 9110 ↗
418

I'm a Teapot

De server weigert koffie te zetten omdat het een theepot is.

Een aprilgrap uit 1998 (RFC 2324). Sommige echte API's gebruiken het voor grappen of om verouderde endpoints te markeren. Niet voor productiegebruik.

RFC 2324 ↗
421

Misdirected Request

Het verzoek werd naar een server verzonden die geen antwoord kan produceren.

Komt vaak voor bij hergebruik van HTTP/2-verbindingen: het verzoek bereikte een server die niet voor de doelhostnaam is geconfigureerd. De client moet het op een nieuwe verbinding opnieuw proberen.

RFC 9110 ↗
422

Unprocessable Content

Het verzoek was syntactisch geldig maar semantisch onjuist.

Bijvoorbeeld: de JSON werd correct geparseerd, maar een verplicht veld ontbrak of een veldwaarde lag buiten het bereik. Komt vaak voor in REST API-validatieantwoorden.

RFC 9110 ↗
423

Locked

De resource is vergrendeld.

WebDAV: de bron- of bestemmingsresource is vergrendeld door een andere client, dus de bewerking kan niet doorgaan. Wacht tot de vergrendeling wordt opgeheven of verbreek die met het juiste token.

RFC 4918 ↗
424

Failed Dependency

Het verzoek mislukte omdat een vorig afhankelijk verzoek mislukte.

WebDAV: in een reeks afhankelijke bewerkingen mislukte een eerdere actie, dus deze werd niet uitgevoerd. Kijk naar de eerdere fout voor de grondoorzaak.

RFC 4918 ↗
425

Too Early

De server weigert een verzoek te verwerken dat opnieuw zou kunnen worden verzonden.

Gerelateerd aan TLS 1.3 0-RTT (vroege gegevens): de server wil het risico niet nemen van het verwerken van een mogelijk herhaald verzoek. De client moet het na de handshake opnieuw proberen.

RFC 8470 ↗
426

Upgrade Required

De client moet naar een ander protocol overschakelen.

De server weigert het verzoek over het huidige protocol te bedienen maar wel na een upgrade — het antwoord bevat een Upgrade header met het vereiste protocol.

RFC 9110 ↗
428

Precondition Required

De server vereist dat het verzoek voorwaardelijk is.

De server eist voorwaardelijke headers (zoals If-Match) om lost-update conflicten te voorkomen. Haal de resource op, leg zijn ETag vast en verzend opnieuw met If-Match.

RFC 6585 ↗
429

Too Many Requests

De client wordt rate-limited.

Rustig aan. Het antwoord moet een Retry-After header bevatten die aangeeft wanneer opnieuw moet worden geprobeerd. Komt vaak voor bij API's met aanvraagquota.

RFC 6585 ↗
431

Request Header Fields Too Large

Headers zijn te groot voor de server om te verwerken.

Ofwel één header ofwel de totale headergrootte overschrijdt de limiet — meestal veroorzaakt door oversized cookies. Wis cookies of verminder wat je app erin opslaat.

RFC 6585 ↗
451

Unavailable For Legal Reasons

Toegang geweigerd vanwege juridische eisen.

De resource is om juridische redenen geblokkeerd — censuur, gerechtelijke bevelen of regionale regelgeving. Het getal is een verwijzing naar de roman Fahrenheit 451.

RFC 7725 ↗
500

Internal Server Error

De server is een onverwachte voorwaarde tegengekomen.

Een generieke vangnetmelding voor fouten aan de serverzijde. Controleer serverlogboeken op de werkelijke oorzaak: onafgehandelde uitzondering, databasefout, enz.

RFC 9110 ↗
501

Not Implemented

De server ondersteunt de aangevraagde functionaliteit niet.

Bijvoorbeeld, de server herkent de HTTP-methode niet. Zeldzaam in praktijk — vaker zie je 405.

RFC 9110 ↗
502

Bad Gateway

De server, als gateway fungerend, kreeg een slecht antwoord van een upstream-server.

Komt vaak voor in microservice-architecturen. Je load balancer of reverse proxy kreeg een ongeldig antwoord van de backend-service.

RFC 9110 ↗
503

Service Unavailable

De server kan het verzoek momenteel niet verwerken.

Ofwel down voor onderhoud ofwel overbelast. Het antwoord moet een Retry-After header bevatten. Vaak geretourneerd tijdens deployments.

RFC 9110 ↗
504

Gateway Timeout

De gateway-server heeft time-out gehad bij het wachten op een upstream-antwoord.

De backend-service reageerde niet snel genoeg. Controleer de gezondheid van de upstream service en timeout-configuraties.

RFC 9110 ↗
505

HTTP Version Not Supported

De server ondersteunt de HTTP-versie die in het verzoek wordt gebruikt niet.

De grote HTTP-versie van het verzoek wordt niet ondersteund door de server. Bijna nooit gezien met moderne clients.

RFC 9110 ↗
506

Variant Also Negotiates

De server heeft een content negotiation misconfiguratie.

Transparente content negotiation eindigde in een lus: de gekozen variant is zelf geconfigureerd voor onderhandeling. Wijst op een serverconfiguratiefout.

RFC 2295 ↗
507

Insufficient Storage

De server is geen schijfruimte meer.

WebDAV-specifiek in oorsprong maar soms gebruikt door algemene servers. Betekent dat de server het verzoek niet kan opslaan vanwege opslagbeperkingen.

RFC 4918 ↗
508

Loop Detected

De server detecteerde een oneindige lus bij het verwerken van het verzoek.

WebDAV: bij verwerking van een Depth: infinity verzoek ontstond een lus (bijvoorbeeld circulaire bindingen). De bewerking werd beëindigd.

RFC 5842 ↗
510

Not Extended

Verdere extensies van het verzoek zijn vereist.

Uit het verouderde HTTP Extension Framework: de server heeft meer informatie nodig voordat het verzoek kan worden vervuld. Effectief ongebruikt op het moderne web.

RFC 2774 ↗
511

Network Authentication Required

De client moet zich verifiëren om netwerktoegang te krijgen.

Gebruikt door captive portals (hotel/luchthaven WiFi) om aan te geven dat de gebruiker zich moet aanmelden bij het netwerk voordat hij toegang krijgt tot externe sites.

RFC 6585 ↗

Veelvoorkomend gebruik

  • Referentie voor API-ontwerpWanneer u REST-API's ontwerpt, kiest u de juiste statuscode voor elke respons.
  • Foutcodes snel opzoekenWanneer uw app een verwarrende HTTP-fout retourneert, zoekt u op wat dit werkelijk betekent.
  • Leer HTTP-statuscodesUitgebreide referentie voor studenten en ontwikkelaars die HTTP en REST leren.
  • Snelle Referentie Tijdens IncidentenZoek snel op wat elke statuscode betekent tijdens productieincidenten.
  • Referentie voor API-documentatieZorg bij het schrijven van API-documentatie voor koppelingen naar gezaghebbende beschrijvingen van de statuscodes die u retourneert.

Hoe het werkt

Deze tool is een client-side naslagwerk gebouwd rond een vaste opzoektabel van 63 HTTP-statuscodes uit alle vijf klassen (1xx–5xx), elk voorzien van het nummer van de RFC die de code definieert. Er is geen serveraanroep, geen externe API en geen netwerkverzoek — al het filteren en weergeven gebeurt in de browser met de ingebouwde array- en stringmethoden van JavaScript.

  1. 1
    De opzoektabel wordt geladen
    De volledige set van 63 bij IANA geregistreerde statuscodes zit direct in deze tool als JavaScript-array; elk item bevat de numerieke code, de canonieke Engelse naam, de categorie en de specifieke RFC die de code definieert (bijv. RFC 9110 voor de meeste HTTP/1.1-codes, RFC 6585 voor 429 Too Many Requests, RFC 2324 voor 418 I'm a Teapot).
  2. 2
    Het filter draait in het geheugen
    Terwijl je typt of een categoriefilter kiest, draait Array.filter van JavaScript over de lijst in het geheugen en vergelijkt je zoekopdracht met String.includes met het nummer van de statuscode, de canonieke naam en zowel de korte als de lange beschrijving — zonder debounce-vertraging, zonder serververzoek.
  3. 3
    Details klappen open met een RFC-link
    Elk resultaat wordt getoond als HTML details/summary-element. Een item openklappen toont de uitgebreide uitleg en een directe link naar de gezaghebbende RFC op rfc-editor.org, zodat je de exacte specificatietekst van elke code kunt lezen.
  4. 4
    Directe links en kopiëren naar het klembord
    Een item openen zet het codenummer in de URL-hash (bijv. #404), zodat de pagina te delen en als bladwijzer op te slaan is. De kopieerknop schrijft de canonieke tekenreeks (bijv. '404 Not Found') via de navigator.clipboard-API van de browser naar het klembord.

Gerelateerde tools

Veelgestelde vragen