tigtools

HTTP-statuscodes

Zoek elke HTTP-statuscode op: wat de code betekent, wanneer servers deze versturen en in welke specificatie deze wordt gedefinieerd. Zoek op nummer of trefwoord, filter op klasse en link rechtstreeks naar een code.

Werkt in je browser Geen registratie nodig

79 codes weergegeven

  • 100 Continue

    De server heeft de verzoekheaders ontvangen en de client mag de hoofdtekst versturen. Dit gebeurt wanneer een client vóór het uploaden van een grote hoofdtekst ‘Expect: 100-continue’ verstuurt.

    Vastgelegd in RFC 9110

  • 101 Switching Protocols

    De server gaat akkoord met een overstap naar het protocol waar de client om heeft gevraagd in de Upgrade-header. Dit gebeurt wanneer een verbinding wordt omgezet naar WebSocket.

    Vastgelegd in RFC 9110

  • 102 Processing

    Verouderd of niet in gebruik

    De server heeft een WebDAV-verzoek geaccepteerd, maar is nog niet klaar met de verwerking ervan. De code is verwijderd uit latere WebDAV-specificaties en wordt tegenwoordig zelden gebruikt.

    Vastgelegd in RFC 2518

  • 103 Early Hints

    Wordt verstuurd vóór het definitieve antwoord, zodat de browser alvast bronnen uit Link-headers kan laden. CDNs en servers gebruiken dit om pagina's sneller te laden.

    Vastgelegd in RFC 8297

  • 200 OK

    Het verzoek is geslaagd en het antwoord bevat het resultaat. Dit is het normale antwoord bij het laden van een pagina of een geslaagde API-aanroep.

    Vastgelegd in RFC 9110

  • 201 Created

    Het verzoek is geslaagd en heeft een nieuwe resource aangemaakt, meestal aangeduid met de Location-header. Dit gebeurt vaak na een geslaagde POST waarmee een record wordt aangemaakt.

    Vastgelegd in RFC 9110

  • 202 Accepted

    Het verzoek is geaccepteerd voor verwerking, maar de verwerking is nog niet voltooid. Wordt gebruikt door API's die taken in een wachtrij plaatsen, zoals exports of batchtaken.

    Vastgelegd in RFC 9110

  • 203 Non-Authoritative Information

    Het verzoek is geslaagd, maar een proxy die de inhoud aanpast, heeft de door de oorspronkelijke server teruggestuurde inhoud gewijzigd.

    Vastgelegd in RFC 9110

  • 204 No Content

    Het verzoek is geslaagd en er is geen inhoud om terug te sturen. Komt vaak voor bij DELETE-verzoeken en bij het opslaan van gegevens wanneer de client geen antwoordtekst nodig heeft.

    Vastgelegd in RFC 9110

  • 205 Reset Content

    Het verzoek is geslaagd en de client moet de documentweergave opnieuw instellen, bijvoorbeeld door een formulier leeg te maken. Wordt zelden gebruikt.

    Vastgelegd in RFC 9110

  • 206 Partial Content

    De server stuurt alleen het bytebereik terug waar de client om heeft gevraagd. Dit gebeurt bij het streamen van video's, het hervatten van downloads of wanneer een client een Range-header verstuurt.

    Vastgelegd in RFC 9110

  • 207 Multi-Status

    Een WebDAV-antwoord met afzonderlijke statuscodes voor meerdere resources in een XML-hoofdtekst.

    Vastgelegd in RFC 4918

  • 208 Already Reported

    Wordt binnen een WebDAV-antwoord 207 gebruikt om te voorkomen dat dezelfde gebonden resourceleden opnieuw worden vermeld.

    Vastgelegd in RFC 5842

  • 226 IM Used

    De server heeft bewerkingen op de instantie toegepast (zoals delta-codering) op de huidige resource. Komt zeer zelden voor.

    Vastgelegd in RFC 3229

  • 300 Multiple Choices

    De resource heeft meerdere weergaven en de client moet er een kiezen. Wordt in de praktijk zelden gebruikt.

    Vastgelegd in RFC 9110

  • 301 Moved Permanently

    De resource is permanent verplaatst naar de URL in de Location-header. Browsers en zoekmachines werken hun links bij; sommige clients veranderen POST in GET wanneer ze de omleiding volgen.

    Vastgelegd in RFC 9110

  • 302 Found

    De resource staat tijdelijk op een andere URL, vermeld in de Location-header. Komt vaak voor na het inloggen en bij omleidingen voor korte tijd; browsers volgen de omleiding meestal met GET.

    Vastgelegd in RFC 9110

  • 303 See Other

    De client moet het resultaat met GET ophalen via een andere URL. Wordt gebruikt om na een formulierverzending met POST door te sturen naar een bevestigingspagina (het Post/Redirect/Get-patroon).

    Vastgelegd in RFC 9110

  • 304 Not Modified

    De versie in de cache is nog geldig, dus de server stuurt geen hoofdtekst. Dit gebeurt wanneer een browser een bestand in de cache opnieuw controleert met If-None-Match of If-Modified-Since.

    Vastgelegd in RFC 9110

  • 305 Use Proxy

    Verouderd of niet in gebruik

    De client moest een proxy gebruiken die in de Location-header werd vermeld. De code is om veiligheidsredenen verouderd en browsers negeren deze.

    Vastgelegd in RFC 9110

  • 306 (Unused)

    Verouderd of niet in gebruik

    Gereserveerd. Deze code werd gebruikt in een eerdere conceptversie van HTTP/1.1 en wordt niet meer gebruikt.

    Vastgelegd in RFC 9110

  • 307 Temporary Redirect

    De resource staat tijdelijk op een andere URL. De client moet het verzoek opnieuw versturen met dezelfde methode en inhoud. Browsers gebruiken deze code ook intern voor HSTS-omleidingen naar HTTPS.

    Vastgelegd in RFC 9110

  • 308 Permanent Redirect

    De resource is permanent verplaatst. De client moet de nieuwe URL gebruiken met dezelfde methode en inhoud. Dit is de permanente tegenhanger van 307 en is geschikt voor het omleiden van POST-verzoeken.

    Vastgelegd in RFC 9110

  • 400 Bad Request

    De server kan het verzoek niet verwerken omdat het onjuist is opgebouwd, bijvoorbeeld door ongeldige JSON, een ongeldige queryparameter of een beschadigde cookie.

    Vastgelegd in RFC 9110

  • 401 Unauthorized

    Het verzoek bevat geen geldige authenticatiegegevens. Ondanks de naam betekent deze code ‘niet geauthenticeerd’. De server stuurt een WWW-Authenticate-header met uitleg over hoe u kunt inloggen.

    Vastgelegd in RFC 9110

  • 402 Payment Required

    Gereserveerd voor toekomstig gebruik in de HTTP-specificatie. Sommige API's en betaaldiensten gebruiken deze code wanneer een betaling of abonnement vereist is.

    Vastgelegd in RFC 9110

  • 403 Forbidden

    De server begrijpt het verzoek, maar weigert het. Opnieuw inloggen helpt niet. Deze code verschijnt bijvoorbeeld wanneer de benodigde rechten ontbreken, een mapoverzicht is uitgeschakeld of een firewall de client blokkeert.

    Vastgelegd in RFC 9110

  • 404 Not Found

    De server kan de opgevraagde resource niet vinden. Meestal komt dit door een verkeerd getypte of verouderde link, een verwijderde pagina of een onjuiste API-route.

    Vastgelegd in RFC 9110

  • 405 Method Not Allowed

    De resource bestaat, maar ondersteunt de gebruikte HTTP-methode niet, bijvoorbeeld een POST-verzoek naar een URL die alleen-lezen is. De reactie vermeldt de toegestane methoden in de Allow-header.

    Vastgelegd in RFC 9110

  • 406 Not Acceptable

    De server kan geen reactie leveren in een van de indelingen die in de Accept-headers van de client staan.

    Vastgelegd in RFC 9110

  • 407 Proxy Authentication Required

    Net als bij 401 moet de client zich eerst verifiëren, maar dan bij een proxy. Deze code komt voor op bedrijfsnetwerken met een proxy waarvoor authenticatie vereist is.

    Vastgelegd in RFC 9110

  • 408 Request Timeout

    De server wachtte te lang tot de client het verzenden van het verzoek had voltooid. Deze code komt voor bij trage of onderbroken verbindingen.

    Vastgelegd in RFC 9110

  • 409 Conflict

    Het verzoek is in strijd met de huidige staat van de resource, bijvoorbeeld door een conflict bij het bewerken of doordat u iets probeert aan te maken dat al bestaat.

    Vastgelegd in RFC 9110

  • 410 Gone

    De resource is permanent verwijderd en komt niet terug. Anders dan 404 geeft deze code zoekmachines het signaal om de URL sneller uit de index te verwijderen.

    Vastgelegd in RFC 9110

  • 411 Length Required

    De server vereist een Content-Length-header, maar het verzoek bevat die niet.

    Vastgelegd in RFC 9110

  • 412 Precondition Failed

    Er is niet voldaan aan een voorwaarde in de verzoekheaders, zoals If-Match. Deze code voorkomt dat een resource wordt overschreven als die is gewijzigd sinds de client deze voor het laatst heeft opgehaald.

    Vastgelegd in RFC 9110

  • 413 Content Too Large

    De inhoud van het verzoek is groter dan de server accepteert. Deze code komt voor bij het uploaden van een bestand dat een limiet overschrijdt, zoals nginx's client_max_body_size.

    Vastgelegd in RFC 9110

  • 414 URI Too Long

    De URL is langer dan de server kan verwerken. Dit komt meestal doordat een formulier te veel gegevens met GET verstuurt of doordat een omleidingslus steeds parameters toevoegt.

    Vastgelegd in RFC 9110

  • 415 Unsupported Media Type

    De server ondersteunt de indeling van de inhoud van het verzoek niet, bijvoorbeeld wanneer u XML verstuurt naar een endpoint dat application/json verwacht.

    Vastgelegd in RFC 9110

  • 416 Range Not Satisfiable

    Het bytebereik dat in de Range-header is opgevraagd, valt buiten de grootte van de resource.

    Vastgelegd in RFC 9110

  • 417 Expectation Failed

    De server kan niet voldoen aan de eis in de Expect-header van de client.

    Vastgelegd in RFC 9110

  • 418 I'm a teapot

    Een 1-aprilgrap uit het Hyper Text Coffee Pot Control Protocol uit 1998: een theepot die weigert koffie te zetten. HTTP reserveert deze code als ongebruikt, maar sommige servers sturen hem als easter egg of om ongewenste bots te weigeren.

    Vastgelegd in RFC 2324 / RFC 9110 (Unused)

  • 419 Page Expired

    Niet-standaard

    Geen standaardcode. Laravel stuurt deze code wanneer een CSRF-token van een formulier ontbreekt of is verlopen, meestal nadat een sessie is verlopen.

    Vastgelegd in Laravel

  • 420 Enhance Your Calm

    Niet-standaard

    Geen standaardcode. De oude Twitter API gebruikte deze code voor snelheidsbeperking; 429 is hiervoor de standaardcode.

    Vastgelegd in Twitter API v1

  • 421 Misdirected Request

    Het verzoek is aangekomen bij een server die geen reactie kan geven voor deze host, bijvoorbeeld wanneer een HTTP/2-verbinding opnieuw wordt gebruikt voor een ander domein.

    Vastgelegd in RFC 9110

  • 422 Unprocessable Content

    Het verzoek is correct opgebouwd, maar de inhoud is ongeldig, bijvoorbeeld een formulier dat niet aan de validatieregels voldoet. API's gebruiken deze code vaak voor validatiefouten.

    Vastgelegd in RFC 9110

  • 423 Locked

    De WebDAV-resource is vergrendeld en kan niet worden gewijzigd.

    Vastgelegd in RFC 4918

  • 424 Failed Dependency

    Het WebDAV-verzoek is mislukt omdat een andere actie waarvan het afhankelijk was, is mislukt.

    Vastgelegd in RFC 4918

  • 425 Too Early

    De server verwerkt een verzoek mogelijk niet als het opnieuw kan worden afgespeeld, zoals een verzoek dat is verzonden in vroege TLS 1.3-gegevens.

    Vastgelegd in RFC 8470

  • 426 Upgrade Required

    De server weigert het verzoek met het huidige protocol en vermeldt het vereiste protocol in de Upgrade-header.

    Vastgelegd in RFC 9110

  • 428 Precondition Required

    De server vereist een voorwaardelijk verzoek (bijvoorbeeld met If-Match) om te voorkomen dat wijzigingen verloren gaan.

    Vastgelegd in RFC 6585

  • 429 Too Many Requests

    De client heeft in een bepaalde periode te veel verzoeken verstuurd. API's gebruiken deze code voor snelheidsbeperking en vermelden vaak in een Retry-After-header wanneer u het opnieuw kunt proberen.

    Vastgelegd in RFC 6585

  • 431 Request Header Fields Too Large

    De verzoekheaders zijn te groot, vaak doordat er te veel of te grote cookies zijn. Het probleem is meestal verholpen door de cookies van de site te wissen.

    Vastgelegd in RFC 6585

  • 444 No Response

    Niet-standaard

    Geen standaardcode. nginx gebruikt deze intern om de verbinding te sluiten zonder een reactie te versturen, vaak om ongewenst verkeer tegen te houden. Clients ontvangen deze code nooit daadwerkelijk.

    Vastgelegd in nginx

  • 451 Unavailable For Legal Reasons

    De resource is om juridische redenen niet beschikbaar, bijvoorbeeld door een gerechtelijk bevel of overheidscensuur. Het nummer verwijst naar de roman Fahrenheit 451.

    Vastgelegd in RFC 7725

  • 494 Request Header Too Large

    Niet-standaard

    Geen standaardcode. nginx's eigen variant van 431, die wordt geregistreerd wanneer verzoekheaders de bufferm limieten overschrijden.

    Vastgelegd in nginx

  • 495 SSL Certificate Error

    Niet-standaard

    Geen standaardcode. nginx stuurt deze code wanneer de verificatie van een clientcertificaat mislukt.

    Vastgelegd in nginx

  • 496 SSL Certificate Required

    Niet-standaard

    Geen standaardcode. nginx stuurt deze code wanneer een vereist clientcertificaat ontbreekt.

    Vastgelegd in nginx

  • 497 HTTP Request Sent to HTTPS Port

    Niet-standaard

    Geen standaardcode. nginx stuurt deze code wanneer een gewone HTTP-aanvraag wordt verzonden naar een poort die voor HTTPS is ingesteld.

    Vastgelegd in nginx

  • 499 Client Closed Request

    Niet-standaard

    Geen standaardcode. nginx registreert deze code wanneer de client de verbinding verbreekt voordat de server heeft gereageerd, bijvoorbeeld doordat een gebruiker een trage pagina annuleert of doordat de time-out aan clientzijde verstrijkt.

    Vastgelegd in nginx

  • 500 Internal Server Error

    De server is op een onverwachte fout gestuit en kon het verzoek niet voltooien. Deze algemene fout kan komen door een bug, crash of onjuiste configuratie. De details staan in de serverlogs.

    Vastgelegd in RFC 9110

  • 501 Not Implemented

    De server ondersteunt de benodigde functionaliteit niet, bijvoorbeeld een HTTP-methode die de server niet herkent.

    Vastgelegd in RFC 9110

  • 502 Bad Gateway

    Een gateway of proxy heeft een ongeldige reactie ontvangen van de achterliggende server. Dit gebeurt vaak wanneer de applicatie achter nginx of een load balancer is gecrasht of opnieuw wordt opgestart.

    Vastgelegd in RFC 9110

  • 503 Service Unavailable

    De server kan het verzoek tijdelijk niet verwerken omdat deze overbelast is of wegens onderhoud niet beschikbaar is. Een Retry-After-header kan aangeven wanneer u het opnieuw kunt proberen.

    Vastgelegd in RFC 9110

  • 504 Gateway Timeout

    Een gateway of proxy heeft niet op tijd een antwoord van de upstreamserver ontvangen. Dit gebeurt wanneer een backendverzoek te lang duurt, bijvoorbeeld door een lange databasequery.

    Vastgelegd in RFC 9110

  • 505 HTTP Version Not Supported

    De server ondersteunt de HTTP-versie van het verzoek niet.

    Vastgelegd in RFC 9110

  • 506 Variant Also Negotiates

    Een configuratiefout in de contentonderhandeling op de server: de gekozen variant is zelf zo ingesteld dat er contentonderhandeling plaatsvindt.

    Vastgelegd in RFC 2295

  • 507 Insufficient Storage

    De server kan niet opslaan wat nodig is om het verzoek af te handelen, bijvoorbeeld omdat de schijf van een WebDAV-server vol is.

    Vastgelegd in RFC 4918

  • 508 Loop Detected

    De server heeft een WebDAV-bewerking gestopt omdat er een oneindige lus was ontstaan.

    Vastgelegd in RFC 5842

  • 509 Bandwidth Limit Exceeded

    Niet-standaard

    Geen standaardcode. Sommige shared-hostingdiensten (Apache-modules, cPanel) gebruiken deze code wanneer een website de bandbreedtelimiet overschrijdt.

    Vastgelegd in Apache / cPanel

  • 510 Not Extended

    Verouderd of niet in gebruik

    Er zijn aanvullende extensies nodig om aan het verzoek te voldoen. Deze code is vastgelegd in een experimentele specificatie die inmiddels historisch is.

    Vastgelegd in RFC 2774

  • 511 Network Authentication Required

    De client moet zich aanmelden om toegang tot het netwerk te krijgen. Wordt door captive portals op wifi in hotels, luchthavens of cafés verstuurd voordat u inlogt.

    Vastgelegd in RFC 6585

  • 520 Web Server Returned an Unknown Error

    Niet-standaard

    Geen standaardcode. Cloudflare geeft deze code terug wanneer de originserver een leeg, onbekend of onverwacht antwoord heeft verstuurd.

    Vastgelegd in Cloudflare

  • 521 Web Server Is Down

    Niet-standaard

    Geen standaardcode. Cloudflare geeft deze code terug wanneer de originserver de verbinding heeft geweigerd, meestal omdat de webserver niet actief is of de IP-adressen van Cloudflare blokkeert.

    Vastgelegd in Cloudflare

  • 522 Connection Timed Out

    Niet-standaard

    Geen standaardcode. Cloudflare geeft deze code terug wanneer er een time-out optreedt bij het opzetten van de TCP-verbinding met de originserver.

    Vastgelegd in Cloudflare

  • 523 Origin Is Unreachable

    Niet-standaard

    Geen standaardcode. Cloudflare geeft deze code terug wanneer het de originserver niet kan bereiken, bijvoorbeeld door een DNS- of routeringsprobleem.

    Vastgelegd in Cloudflare

  • 524 A Timeout Occurred

    Niet-standaard

    Geen standaardcode. Cloudflare geeft deze code terug wanneer er verbinding is gemaakt met de originserver, maar er binnen de time-out (standaard 100 seconden) geen HTTP-antwoord is ontvangen.

    Vastgelegd in Cloudflare

  • 525 SSL Handshake Failed

    Niet-standaard

    Geen standaardcode. Cloudflare geeft deze code terug wanneer de SSL/TLS-handshake met de originserver is mislukt.

    Vastgelegd in Cloudflare

  • 526 Invalid SSL Certificate

    Niet-standaard

    Geen standaardcode. Cloudflare geeft deze code terug wanneer het SSL-certificaat van de originserver ongeldig is en de SSL-modus Full (strict) is ingeschakeld.

    Vastgelegd in Cloudflare

Zo gebruik je deze tool

  1. Typ een codenummer (zoals 404 of alleen 5 voor alle serverfouten) of een trefwoord, zoals ‘omleiding’ of ‘time-out’.
  2. Verfijn de lijst met het filter voor de klasse: informatief, succes, omleiding, clientfout of serverfout.
  3. Gebruik ‘Link kopiëren’ bij een code om er een directe link naar te delen, bijvoorbeeld in een bugrapport.

Hoe het werkt

Elke HTTP-respons begint met een statuscode van drie cijfers. Het eerste cijfer bepaalt de klasse: 1xx-informatieve antwoorden, 2xx-succes, 3xx-omleidingen, 4xx-fouten veroorzaakt door het verzoek en 5xx-fouten aan de serverkant. Clients die een specifieke code niet herkennen, behandelen deze als de x00-code van dezelfde klasse. Een onbekende 4xx-code wordt dus behandeld als 400.

De belangrijkste codes zijn vastgelegd in RFC 9110 (HTTP Semantics, 2022), die de oudere RFC 7231 verving. Andere codes komen uit uitbreidingen: WebDAV (RFC 4918), RFC 6585 voor 428, 429, 431 en 511, RFC 7725 voor 451 en RFC 8470 voor 425. RFC 9110 heeft ook twee codes een nieuwe naam gegeven: 413 heet nu “Content Too Large” en 422 “Unprocessable Content”. Je kunt ze nog tegenkomen onder hun oude namen “Payload Too Large” en “Unprocessable Entity”.

Sommige codes die je in logboeken tegenkomt, zijn helemaal geen standaarden. nginx gebruikt 444 en 494–499 intern (499 betekent dat een client het wachten heeft opgegeven), en Cloudflare retourneert 520–526 wanneer het geen geldig antwoord van de oorspronkelijke server kan krijgen. Deze zijn in de lijst gemarkeerd als “Niet-standaard”. De redensteksten (zoals “Not Found”) worden in het Engels weergegeven, zoals ze in de specificaties staan; HTTP/2 en HTTP/3 versturen alleen het nummer.

Voorbeelden

301 of 308 bij het verplaatsen van een site

Beide zijn permanent. Gebruik 301 voor gewone paginaverplaatsingen; gebruik 308 wanneer clients POST- of PUT-verzoeken opnieuw naar de nieuwe URL moeten sturen, omdat sommige clients POST na een 301 wijzigen in GET.

401 tegenover 403

Een API retourneert 401 wanneer er geen token of een verlopen token wordt verzonden; de client moet dan inloggen. De API retourneert 403 wanneer het token geldig is, maar de gebruiker geen toestemming heeft. Opnieuw inloggen helpt dan niet.

Een 502 achter nginx onderzoeken

Een 502 Bad Gateway van nginx betekent dat de applicatie erachter niet goed heeft geantwoord. Controleer of het applicatieproces actief is en wat er in de logboeken staat; 504 betekent in plaats daarvan dat de applicatie te traag antwoordde.

Veelgestelde vragen

Wat is het verschil tussen 404 en 410?

404 betekent dat de server de bron niet kan vinden en zegt niets over de toekomst. 410 betekent dat de bron bewust is verwijderd en niet terugkomt. Daardoor kunnen zoekmachines de URL sneller uit hun index verwijderen.

Moet een validatiefout 400 of 422 opleveren?

Beide worden gebruikt. 400 past bij verzoeken die de server niet kan verwerken, zoals ongeldige JSON. 422 past bij verzoeken die wel correct kunnen worden verwerkt, maar ongeldige waarden bevatten, zoals een e-mailveld zonder @.

Is 418 I'm a teapot een echte statuscode?

De code komt uit een RFC voor 1 april 1998. RFC 9110 reserveert 418 als ongebruikt, zodat de code nergens anders aan wordt toegewezen. Enkele servers geven de code als grap terug, maar hij heeft geen standaardbetekenis.

Waar komt 499 vandaan?

499 is specifiek voor nginx. De code verschijnt in nginx-logboeken wanneer de client de verbinding sluit voordat de server een antwoord verstuurt. De client ontvangt zelf nooit een 499; de code wijst meestal op trage antwoorden of time-outs aan de clientzijde.

Behandelen zoekmachines 302 hetzelfde als 301?

Een 302 geeft aan dat een URL tijdelijk is verplaatst. Zoekmachines houden de oorspronkelijke URL daarom meestal eerst in de index. Als een 302 lange tijd actief blijft, kan Google die behandelen als een permanente omleiding. Gebruik 301 of 308 voor permanente verplaatsingen.

Privacy

De lijst maakt deel uit van de pagina. Zoeken en filteren gebeurt in je browser; je zoektermen worden nergens naartoe verstuurd en niet opgenomen in analytics.