Wat betekenen de verschillende HTTP status codes?
Wanneer je via je browser of bijvoorbeeld via een App een HTTP request doet waarmee je iets op wilt halen van een server dan stuurt de server een HTTP response status code terug. Voorbeelden van zo'n HTTP request zijn bijvoorbeeld wanneer je de pagina van een website bezoekten er van de server afbeeldingen worden opgehaald, of een css bestand met opmaak voor een pagina. Bij het laden van de website wordt er dan voor iedere request een HTTP response status code mee terug gestuurd. Hieronder vindt je uitleg over wat iedere status code betekent:
HTTP-response status code: |
Betekenis: |
200 OK |
De HTTP aanvraag is succesvol. Bij een request van het type GET of POST betekent dit dat de server je de gevraagde data opgestuurd heeft. |
301 Moved Permanently |
De opgegeven data heeft permanent een nieuwe locatie toegewezen gekregen. Je aanvraag wordt automatisch doorverwezen naar de nieuwe locatie waar je de gevraagde data zou moeten kunnen vinden. I.v.m. zoekmachineoptimalisatie is het goed om te weten dat je met een 301 redirect de reputatiescore / hits van de oude url naar de nieuwe laat doorstromen terwijl dat met bijvoorbeeld een 302 redirect niet/minder doorstroomt. |
302 Found |
Dit is een tijdelijke redirect. De aanvraag wordt tijdelijk doorgezet naar een andere locatie. Voor de eindgebruiker is het grootste verschil met een 301 redirect dat je bij een 302 de keuze hebt of je door wilt gaan met de doorverwijzing. Het is niet verplicht. |
304 Not modified |
Dit betekent dat de opgevraagde pagina niet meer gewijzigd is sinds het laatste verzoek. Je krijgt dan een gecachede versie te zien van hetgeen je opgevraagd hebt en er worden geen nieuwe gegevens van de server opgetuurd. |
307 Temporary Redirect |
Deze status lijkt op de 302. Owel de 302 als de 307 betekenen dat de gevraagde inhoud tijdelijk ergens anders gezocht moet worden, maar bij de 307 kan de methode en de body van de request niet automatisch aangepast worden. Voorbeeld: als het een GET request is blijft het dus ook een GET request ongeacht wat de client er van wil maken. |
400 Bad Request |
Dit betekent dat de gegeven aanvraag niet goed verwerkt kan worden. Dit kan bijvoorbeeld veroorzaakt worden door fouten in de broncode. |
401 Unauthorized |
Je hebt niet de juiste rechten om de opgevraagde locatie/pagina te bekijken. Vaak krijg je hierbij het verzoek om in te loggen met correcte gegevens. |
403 Forbidden |
Met de door jou gebruikte gegevens (gebruikersnaam of ip-adres) heb je geen toegang tot de opgevraagde gegevens. Dit kan ook komen doordat er geen index of website aanwezig is. |
404 Not Found |
De opgevraagde locatie/pagina is niet gevonden. Als het de bedoeling is dat de gevraagde data permanent niet meer beschikbaar is dan zou de eigenaar van de data eigenlijk een Http response status code 410 moeten gebruiken. |
410 Gone |
Dit houdt in dat de opgegeven locatie/url niet meer aanwezig en beschikbaar is op de server. Er is daarnaast geen doorverwijzing bekend voor de opgegeven aanvraag. Deze HTTP response status code lijkt op de HTTP response status code 404, echter wordt de HTTP response status code 410 gebruikt wanneer de opgevraagde locatie/url niet meer bestaan. |
500 Internal Server Error |
Wanneer je deze melding krijgt, gaat er iets mis in de website. De server krijgt een aanvraag welke niet verwerkt kan worden. Dit komt vaak door problemen in de website zelf. De oorzaak van deze melding kun je terugvinden in de ERROR log van je website. |
501 Not Implemented |
Deze melding kan naar voren komen wanneer de server niet beschikt over een benodigde functionaliteit om de aanvraag te kunnen verwerken. Deze melding kan soms veroorzaakt worden wanneer er vanuit de internetbrowser of de aanvrager een verkeerde aanvraag gedaan wordt. Dit kan gebeuren doordat er door browser cache of een andere cache conflict veroorzaakt in je aanvraag. Mocht je deze foutmelding krijgen dan kun je het vaak oplossen door de pagina opnieuw te laden. |
503 Service Unavailable |
Wanneer je deze melding krijgt is het voor de server niet mogelijk om de aanvraag te kunnen verwerken. Dit kan vaak voorkomen door overbelasting of onderhoudswerkzaamheden. De betreffende melding is vaak tijdelijk. Het kan ook voorkomen doordat je op je toegewezen resource limieten bent gekomen. Het systeem zal jouw hosting dan tegen houden zodat je niet de gehele server kunt overbelasten. |
508 Loop Detected |
Deze HTTP response status code gaat vaak gepaard met de HTTP response status code 503. Het geeft aan dat er een "loop"in het systeem zit. Dit houdt vaak in dat er een proces of een aantal processen zijn die oneindig door blijven gaan. Hierdoor kan je ook tegen je resource limieten aankomen en kun je ook de HTTP response status code 503 krijgen. |
In principe zijn de volgende status codes standaard "cachable":
-
200
OK -
203
Non-Authoritative Information -
204
No Content -
206
Partial Content -
300
Multiple Choices -
301
Moved Permanently -
404
Not Found -
405
Method Not Allowed -
410
Gone -
414
URI Too Long -
501
Not Implemented
Dat betekent dat als je zo'n status code terugkrijgt de browser dit vaak een tijdje onthoudt. Dat verklaart waarom je soms een website niet te zien krijgt op de ene computer terwijl deze verder op andere computers wel gewoon bereikbaar is, en vice versa.