HTTP-statuscodes uitgelegd, van 200 tot 503
Elke keer dat je browser iets opvraagt bij een webserver, antwoordt de server met een driecijferig getal voordat hij HTML, een afbeelding of JSON teruggeeft. Dat getal is de HTTP-statuscode, en het is de beknopte manier van de server om te zeggen wat er is gebeurd: de pagina is hier, hij is verplaatst, je hebt geen toegang, of er is iets aan onze kant kapotgegaan. Meestal zie je deze codes nooit omdat alles werkt en de pagina gewoon laadt. Maar op het moment dat een site niet goed werkt, is de statuscode de eerste aanwijzing die de moeite waard is om te lezen.
De nummers zijn niet willekeurig. Het eerste cijfer deelt elke respons in in een van vijf families, zodat zelfs een onbekende code je al een globaal idee geeft van wat er fout is gegaan, puur op basis van het eerste getal. Leer de vijf families en je kunt bijna elke respons in één oogopslag lezen.

De vijf klassen
1xx informatief. De server heeft je verzoek ontvangen en is nog bezig. Deze zijn zeldzaam bij alledaags browsen en worden doorgaans stilzwijgend afgehandeld tussen de browser en de server. 100 Continue is het klassieke voorbeeld, dat een client vertelt dat het prima is om de rest van een grote verzoektekst te sturen.
2xx succes. Het verzoek werkte. 200 OK is de code die je de hele dag wil zien, wat betekent dat de bron is gevonden en onderweg is. 201 Created verschijnt nadat je een formulier of API-aanroep indient die iets nieuws maakt, en 204 No Content betekent dat de actie is geslaagd maar er niets te tonen is.
3xx omleiding. Wat je vroeg staat ergens anders, en de browser volgt doorgaans automatisch. Omleidingen houden oude links in leven en zijn van groot belang voor zoekmachinerangschikking.
4xx clientfout. Er was iets mis met het verzoek aan jouw kant: een verkeerde URL, ontbrekende inloggegevens, of een bron die niet bestaat. De server is gezond; hij kan simpelweg niet accepteren wat je stuurde.
5xx serverfout. Je verzoek was prima, maar de server struikelde bij het verwerken ervan. Deze wijzen naar de infrastructuur van de site, niet naar jou.
De specifieke codes die mensen daadwerkelijk opzoeken
200 OK is gewoon succes. De pagina of data is geladen zoals verwacht.
301 Moved Permanently vertelt browsers en zoekmachines dat een pagina een nieuw permanent thuis heeft. Dit is de SEO-vriendelijke omleiding, omdat hij rankingsignalen doorstuurt van de oude URL naar de nieuwe. Gebruik hem wanneer je een URL voorgoed wijzigt.
302 Found is een tijdelijke omleiding. De originele URL is nog steeds de echte, dus zoekmachines blijven de originele indexeren in plaats van de bestemming. Grijp naar 302 alleen wanneer de verplaatsing daadwerkelijk van korte duur is, zoals gebruikers doorsturen naar een seizoensgebonden landingspagina.
304 Not Modified is een stille held van snel browsen. Het vertelt de browser dat de kopie die al in de cache zit nog actueel is, dus de server slaat het opnieuw verzenden van het bestand over. Minder data, snellere pagina's.
400 Bad Request betekent dat de server het verzoek niet eens kon begrijpen, vaak vanwege misvormde syntaxis of een ongeldige parameter.
401 Unauthorized vertaalt zich ruwweg als "Ik weet niet wie je bent, authenticeer je alstublieft." Je mist geldige inloggegevens.
403 Forbidden is anders: de server weet wie je bent en weigert toch. Je hebt geen toestemming, en opnieuw inloggen zal niet helpen.
404 Not Found is de beroemdste code van allemaal. De server is actief en heeft gereageerd, maar er is niets op dat adres. Het komt meestal door een verkeerd getypte link of een pagina die is verwijderd of verplaatst zonder omleiding.
429 Too Many Requests betekent dat je rate-gelimiteerd bent. Je hebt in te korte tijd te veel verzoeken gestuurd, en de server vraagt je te vertragen. API's gebruiken dit voortdurend.
500 Internal Server Error is de generieke "er ging iets kapot"-respons. De server stuitte op een onverwachte toestand en gaf het op, maar hij zegt niet wat. Controleer de serverlogs.
502 Bad Gateway verschijnt wanneer één server, die als gateway of proxy fungeert, een ongeldig antwoord krijgt van een stroomopwaartse server erachter. Vaak een teken dat een back-endapplicatie is gecrasht of onbereikbaar is.
503 Service Unavailable betekent dat de server tijdelijk overbelast is of uit de lucht is voor onderhoud. In tegenstelling tot 500 impliceert het dat het probleem van korte duur is en de site snel terug zou moeten zijn.

Wat statuscodes betekenen voor SEO en debuggen
Voor zoekmachinerangschikking is het onderscheid tussen 301 en 302 het geval dat mensen verrast. Een permanente verplaatsing moet altijd 301 gebruiken zodat de nieuwe pagina het gezag van de oude erft; een 302 op de verkeerde plek kan zoekmachines de originele URL laten indexeren en je signalen splitsen. Ondertussen verspillen grote aantallen 404's crawlbudget en ergeren bezoekers, dus het is de moeite waard om kapotte links om te leiden of te repareren in plaats van ze te laten rotten.
Voor debuggen vertelt de familie je waar je moet kijken. Een 4xx wijst naar het verzoek, dus controleer de URL, headers en inloggegevens. Een 5xx wijst naar de server, dus controleer de applicatielogs, de stroomopwaartse services, en of er net een deploy mis is gegaan. Een golf van 502's en 503's betekent vaak dat een back-end down of overbelast is in plaats van een codefout. Je kunt de exacte status die een site retourneert inspecteren met onze ontwikkelaarstools, en wanneer een 5xx eruitziet als een verbindingsprobleem in plaats van een applicatiefout, kan een snelle DNS-zoekopdracht bevestigen dat het domein nog steeds naar het juiste adres wordt omgezet.
Veelgestelde vragen
Is een 404-fout slecht voor mijn website?
Een paar 404's zijn normaal en onschadelijk. Problemen beginnen wanneer populaire pagina's 404 retourneren of wanneer kapotte interne links zich opstapelen en crawlbudget verspillen en bezoekers frustreren. Leid verplaatste pagina's om en herstel kapotte links.
Wat is het verschil tussen een 301- en een 302-omleiding?
Een 301 is permanent en geeft rankingsignalen door aan de nieuwe URL, dus gebruik hem wanneer een pagina voorgoed verplaatst. Een 302 is tijdelijk en houdt de originele URL geïndexeerd, dus gebruik hem alleen voor kortetermijnverplaatsingen.
Wat is het verschil tussen 401 en 403?
Een 401 betekent dat je niet bent geauthenticeerd, dus inloggen kan het oplossen. Een 403 betekent dat de server je herkent maar toch de toegang weigert omdat je geen toestemming hebt, dus opnieuw inloggen zal niet helpen.
Wat betekent een 500-fout en hoe los ik die op?
Een 500 Internal Server Error betekent dat de server op een onverwachte fout stuitte bij het verwerken van je verzoek. Het bericht is met opzet algemeen, dus de oplossing begint doorgaans met het lezen van de serverlogs om de echte oorzaak te vinden.
Waarom krijg ik een 429-statuscode?
Een 429 Too Many Requests betekent dat je rate-gelimiteerd bent omdat je te snel verzoeken hebt gestuurd. Vertraag, respecteer een eventuele Retry-After-header die de server retourneert, en voeg backoff toe aan scripts en API-clients.
Wat betekent 503 Service Unavailable?
Een 503 betekent dat de server het verzoek tijdelijk niet kan verwerken, meestal vanwege overbelasting of gepland onderhoud. Het signaleert een kortetermijnprobleem, dus de site zou vanzelf moeten herstellen.
