Junior
Wat zijn HTTP-responscodes en waarin verschillen ze van elkaar?
sobes.tech AI
Antwoord van AI
HTTP-responscodes zijn driecijferige nummers die door de server worden geretourneerd als antwoord op een verzoek van de client. Ze geven de status van de verwerking van het verzoek aan en bieden informatie over of het succesvol is voltooid, of er een fout is opgetreden, of dat aanvullende actie vereist is.
De codes worden onderverdeeld in vijf klassen:
- 1xx (Informatief): Verzoek is geaccepteerd, verwerking gaat door.
- 2xx (Succesvol): Verzoek is succesvol ontvangen, begrepen en verwerkt.
- 3xx (Doorverwijzingen): De client moet verdere acties ondernemen om het verzoek te voltooien.
- 4xx (Clientfouten): Het verzoek bevat een syntaxisfout of kan niet worden verwerkt.
- 5xx (Serverfouten): De server kon het verzoek niet uitvoeren.
De verschillen tussen de codes liggen in hun semantiek, gerelateerd aan de verschillende fasen van de verwerking van het verzoek en de mogelijke uitkomsten.
Voorbeelden van veelgebruikte codes:
| Code | Beschrijving | Klasse |
|---|---|---|
| 200 | OK | Succesvol |
| 201 | Gemaakt | Succesvol |
| 301 | Permanent verplaatst | Doorverwijzingen |
| 302 | Gevonden | Doorverwijzingen |
| 400 | Verkeerde aanvraag | Clientfouten |
| 401 | Niet geautoriseerd | Clientfouten |
| 403 | Verboden | Clientfouten |
| 404 | Niet gevonden | Clientfouten |
| 500 | Interne serverfout | Serverfouten |
| 503 | Dienst niet beschikbaar | Serverfouten |
// Voorbeeld van het verwerken van een HTTP-respons in JavaScript
fetch('/api/data')
.then(response => {
if (response.ok) { // Controle op succesvolle status (2xx)
return response.json();
} else {
// Foutafhandeling op basis van de statuscode
console.error(`HTTP-fout: ${response.status}`);
if (response.status === 404) {
console.error('Bron niet gevonden.');
}
throw new Error(`HTTP-fout: ${response.status}`);
}
})
.then(data => {
console.log('Ontvangen gegevens:', data);
})
.catch(error => {
console.error('Fout bij het laden van gegevens:', error);
});