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.
61 statuscodes
100Doorgaan
De server heeft de aanvraagheaders ontvangen en de client mag doorgaan met de body.
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.
101Protocollen wisselen
De server schakelt de protocollen over zoals aangevraagd door de client.
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.
102Verwerking
De server heeft het verzoek ontvangen en verwerkt het, maar er is nog geen reactie beschikbaar.
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.
103Vroege hints
Voorlopige headers vóór het definitieve antwoord.
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.
200OK
Het verzoek is geslaagd.
OK
Het verzoek is geslaagd.
Het standaard succesantwoord. De betekenis hangt af van de HTTP-methode: GET → resource geretourneerd, POST/PUT → actie voltooid.
201Gemaakt
Een nieuwe resource is succesvol aangemaakt.
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.
202Geaccepteerd
Het verzoek is geaccepteerd voor verwerking, maar de verwerking is niet voltooid.
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.
203Niet-gezaghebbende informatie
Het antwoord is gewijzigd door een transformatieproxy.
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.
204Geen inhoud
Het verzoek is geslaagd, maar er is geen antwoordtekst.
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.
205Inhoud opnieuw instellen
Het verzoek is geslaagd; de client moet de documentweergave opnieuw instellen.
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).
206Gedeeltelijke inhoud
De server heeft alleen een deel van de resource afgeleverd.
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.
207Multi-Status
De antwoordtekst bevat meerdere statuscodes voor meerdere bewerkingen.
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.
208Al gerapporteerd
De leden van een verzameling zijn eerder in het antwoord al vermeld.
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.
226IM gebruikt
Het antwoord is het resultaat van instantiemanipulaties die op de resource zijn toegepast.
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.
300Meerdere keuzes
Verschillende weergaven van de resource zijn beschikbaar.
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.
301Permanent verplaatst
De resource is permanent naar een nieuwe URL verplaatst.
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.
302Gevonden (tijdelijke omleiding)
De resource bevindt zich tijdelijk op een andere URL.
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'.
303Zie elders
Omleiding naar een andere URL met GET.
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.
304Niet gewijzigd
De gecachete versie is nog geldig; gebruik deze.
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.
307Tijdelijke omleiding
Zoals 302 maar behoudt de originele HTTP-methode.
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.
308Permanente omleiding
Zoals 301 maar behoudt de originele HTTP-methode.
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.
400Onjuist verzoek
De server kon het verzoek niet begrijpen vanwege ongeldige syntaxis.
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.
401Niet geverifieerd
Verificatie is vereist en niet verstrekt.
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'.
402Betaling vereist
Gereserveerd voor toekomstig gebruik — soms gebruikt voor betaalde API-lagen.
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.
403Verboden
De client is geverifieerd maar heeft geen toestemming.
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.
404Niet gevonden
De aangevraagde resource bestaat niet.
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.
405Methode niet toegestaan
De gebruikte HTTP-methode is niet toegestaan voor deze resource.
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.
406Niet aanvaardbaar
Geen weergave komt overeen met de Accept-headers van de client.
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.
407Proxy-verificatie vereist
De client moet zich eerst bij de proxy verifiëren.
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.
408Request Timeout
De server heeft time-out gehad bij het wachten op het verzoek.
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.
409Conflict
Het verzoek is in tegenspraak met de huidige status van de resource.
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).
410Gone
De resource is verwijderd en komt niet meer terug.
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.
411Length Required
De server vereist een Content-Length header.
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.
412Precondition Failed
Een voorwaarde in de requestheaders was niet vervuld.
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.
413Payload Too Large
De requestbody overschrijdt de groottelimiet van de server.
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.
414URI Too Long
De request-URL overschrijdt de lengtelimiet van de server.
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.
415Unsupported Media Type
De server kan het verzonden Content-Type niet verwerken.
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.
416Range Not Satisfiable
Het aangevraagde bytegebied ligt buiten de grootte van de resource.
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.
417Expectation Failed
De server kan niet aan de vereisten van de Expect header voldoen.
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.
418I'm a Teapot
De server weigert koffie te zetten omdat het een theepot is.
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.
421Misdirected Request
Het verzoek werd naar een server verzonden die geen antwoord kan produceren.
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.
422Unprocessable Content
Het verzoek was syntactisch geldig maar semantisch onjuist.
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.
423Locked
De resource is vergrendeld.
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.
424Failed Dependency
Het verzoek mislukte omdat een vorig afhankelijk verzoek mislukte.
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.
425Too Early
De server weigert een verzoek te verwerken dat opnieuw zou kunnen worden verzonden.
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.
426Upgrade Required
De client moet naar een ander protocol overschakelen.
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.
428Precondition Required
De server vereist dat het verzoek voorwaardelijk is.
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.
429Too Many Requests
De client wordt rate-limited.
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.
431Request Header Fields Too Large
Headers zijn te groot voor de server om te verwerken.
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.
451Unavailable For Legal Reasons
Toegang geweigerd vanwege juridische eisen.
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.
500Internal Server Error
De server is een onverwachte voorwaarde tegengekomen.
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.
501Not Implemented
De server ondersteunt de aangevraagde functionaliteit niet.
Not Implemented
De server ondersteunt de aangevraagde functionaliteit niet.
Bijvoorbeeld, de server herkent de HTTP-methode niet. Zeldzaam in praktijk — vaker zie je 405.
502Bad Gateway
De server, als gateway fungerend, kreeg een slecht antwoord van een upstream-server.
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.
503Service Unavailable
De server kan het verzoek momenteel niet verwerken.
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.
504Gateway Timeout
De gateway-server heeft time-out gehad bij het wachten op een upstream-antwoord.
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.
505HTTP Version Not Supported
De server ondersteunt de HTTP-versie die in het verzoek wordt gebruikt niet.
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.
506Variant Also Negotiates
De server heeft een content negotiation misconfiguratie.
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.
507Insufficient Storage
De server is geen schijfruimte meer.
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.
508Loop Detected
De server detecteerde een oneindige lus bij het verwerken van het verzoek.
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.
510Not Extended
Verdere extensies van het verzoek zijn vereist.
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.
511Network Authentication Required
De client moet zich verifiëren om netwerktoegang te krijgen.
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.
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.
- 1De opzoektabel wordt geladenDe 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).
- 2Het filter draait in het geheugenTerwijl 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.
- 3Details klappen open met een RFC-linkElk 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.
- 4Directe links en kopiëren naar het klembordEen 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
Citaatgenerator
Maak APA 7-, MLA 9-, Chicago- en Harvard-bronvermeldingen en verwijzingen in de tekst voor websites, boeken, tijdschriften en YouTube — en stel een bronnenlijst samen om te kopiëren of te exporteren. Gratis en privé.
Intervaltimer
Een werk- en rusttimer voor HIIT- en Tabata-trainingen met warming-up, rondes, sets, een grote aftelling, fasen met kleurcodes, pieptonen en optionele stemaanwijzingen.
Video splitsen
Splits een lange video in delen: stukken van 60 seconden voor WhatsApp-status of Stories, een aantal gelijke delen, of delen onder een bepaalde grootte, zoals 25 MB voor e-mail. Sla elk deel apart op of alles als ZIP. Werkt in uw browser; de video wordt niet geüpload.