Vertel over HTTP-statuscodes.
sobes.tech AI
Antwoord van AI
HTTP-statuscodes zijn driecijferige nummers die door de server worden geretourneerd als reactie op een verzoek van de client. Ze geven het resultaat van het verzoek aan en bieden informatie over hoe de client de reactie moet verwerken.
De statuscodes worden onderverdeeld in vijf klassen:
- 1xx — Informatief: Verzoek is geaccepteerd, verwerking wordt voortgezet.
- 2xx — Succesvol: Verzoek is succesvol verwerkt.
- 3xx — Omleiding: Verdere acties zijn nodig om het verzoek te voltooien.
- 4xx — Clientfout: Het verzoek bevat een syntaxisfout of kan niet worden uitgevoerd.
- 5xx — Serverfout: De server kon het verzoek niet correct uitvoeren.
Enkele veelvoorkomende statuscodes:
| Code | Beschrijving | Klasse |
|---|---|---|
| 200 | OK | Succesvol |
| 201 | Gemaakt | Succesvol |
| 204 | Geen inhoud | Succesvol |
| 301 | Permanent verplaatst | Omleiding |
| 302 | Gevonden | Omleiding |
| 400 | Verkeerde aanvraag | Clientfout |
| 401 | Niet geautoriseerd | Clientfout |
| 403 | Verboden | Clientfout |
| 404 | Niet gevonden | Clientfout |
| 500 | Interne serverfout | Serverfout |
| 503 | Dienst niet beschikbaar | Serverfout |
Bij het testen van een API is het belangrijk om te controleren of de juiste statuscodes worden geretourneerd in reactie op verschillende verzoeken (succesvol, met validatiefouten, met onjuiste gegevens, enz.) om voorspelbaar gedrag van het systeem te garanderen.
Bijvoorbeeld, bij het maken van een resource wordt 201 verwacht, bij het succesvol ophalen van gegevens 200, bij een niet-bestaande resource 404, en bij een serverfout 500.
Voorbeeld van het controleren van de statuscode in een automatische test (in Python met requests):
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
# Controleren of de aanvraag de status 200 OK heeft geretourneerd
assert response.status_code == 200