Junior
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, en geven het resultaat van de verwerking van het verzoek aan. Ze worden geclassificeerd op basis van de eerste cijfer:
- 1xx (Informatief): Verzoek is geaccepteerd, verwerking gaat door.
- 2xx (Succes): Verzoek is succesvol ontvangen, begrepen en geaccepteerd.
- 3xx (Doorverwijzing): Er zijn aanvullende acties nodig om het verzoek te voltooien.
- 4xx (Clientfout): Het verzoek bevat een syntaxisfout of kan niet worden uitgevoerd.
- 5xx (Serverfout): De server kon het correct geformuleerde verzoek niet correct verwerken.
Voorbeelden van de meest voorkomende codes:
| Code | Categorie | Waarde | Beschrijving |
|---|---|---|---|
| 100 | Informatief | Continue | De server heeft het eerste deel van het verzoek ontvangen |
| 200 | Succes | OK | Verzoek succesvol uitgevoerd |
| 201 | Succes | Created | Verzoek uitgevoerd en nieuwe bron gemaakt |
| 204 | Succes | No Content | Verzoek uitgevoerd, antwoord bevat geen lichaam |
| 301 | Doorverwijzing | Moved Permanently | Bron permanent verplaatst |
| 302 | Doorverwijzing | Found (Temporarily Moved) | Bron tijdelijk verplaatst |
| 304 | Doorverwijzing | Not Modified | Bron is sinds het laatste verzoek niet gewijzigd |
| 400 | Clientfout | Bad Request | Onjuiste syntaxis van het verzoek |
| 401 | Clientfout | Unauthorized | Authenticatie vereist |
| 403 | Clientfout | Forbidden | Toegang tot bron is verboden |
| 404 | Clientfout | Not Found | Bron niet gevonden op de opgegeven URL |
| 405 | Clientfout | Method Not Allowed | Ongeldige HTTP-methode gebruikt |
| 500 | Serverfout | Internal Server Error | Interne serverfout |
| 502 | Serverfout | Bad Gateway | Ongeld antwoord van de bovenliggende server |
| 503 | Serverfout | Service Unavailable | Server tijdelijk niet beschikbaar |
Het kennen van statuscodes helpt de oorzaak van fouten te begrijpen, verzoeken te debuggen en het succes ervan te bepalen. In testautomatisering worden ze vaak gebruikt om de verwachte resultaten van API-verzoeken te controleren.
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
# Controleer de statuscode op succes (200 OK)
if response.status_code == 200:
print("GET-verzoek succesvol")
else:
print(f"Fout bij GET-verzoek: statuscode {response.status_code}")
url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)
# Controleer de statuscode op niet gevonden bron (404 Not Found)
if response_not_found.status_code == 404:
print("Bron niet gevonden (verwacht gedrag)")
else:
print(f"Onverwachte statuscode ontvangen: {response_not_found.status_code}")