Sobes.tech
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}")