Sobes.tech
Junior

Vertel over HTTP-statuscodes.

sobes.tech AI

Antwoord van AI

HTTP-statuscodes zijn driecijferige gehele getallen die door de server worden geretourneerd als antwoord op een verzoek van de client. Ze geven het resultaat van het verzoek aan en worden onderverdeeld in vijf klassen:

  • 1xx Informatief: Het verzoek is ontvangen en wordt verder verwerkt.
    • 100 Continue: De server heeft het begin van het verzoek ontvangen, en de client kan de rest blijven sturen.
    • 101 Switching Protocols: De server begrijpt en is bereid om de door de client gevraagde protocolwijziging uit te voeren.
  • 2xx Succes: Het verzoek is succesvol verwerkt, begrepen en geaccepteerd.
    • 200 OK: Standaardsuccesantwoord voor HTTP-verzoeken.
    • 201 Created: Het verzoek is voltooid en een nieuwe bron is gemaakt.
    • 204 No Content: De server heeft het verzoek succesvol verwerkt, maar er is geen inhoud in het antwoord.
  • 3xx Redirectie: Er zijn aanvullende acties nodig om het verzoek te voltooien.
    • 301 Moved Permanently: De gevraagde bron heeft een nieuwe permanente URI.
    • 302 Found: De gevraagde bron is tijdelijk verplaatst naar een andere URI.
    • 304 Not Modified: De bron is sinds de laatste verzending niet gewijzigd.
  • 4xx Clientfouten: Het verzoek bevat een syntaxisfout of kan niet worden uitgevoerd.
    • 400 Bad Request: De server kon het verzoek niet begrijpen vanwege ongeldige syntaxis.
    • 401 Unauthorized: Authenticatie is vereist om toegang te krijgen tot de bron.
    • 403 Forbidden: De server begrijpt het verzoek, maar weigert het te autoriseren.
    • 404 Not Found: De server kan de gevraagde bron niet vinden.
  • 5xx Serverfouten: De server kon een correct geformuleerd verzoek niet correct uitvoeren.
    • 500 Internal Server Error: Algemene serverfout die tijdens de verwerking optrad.
    • 502 Bad Gateway: De server die als gateway of proxy fungeert, ontving een ongeldig antwoord van de bovenliggende server.
    • 503 Service Unavailable: De server kan het verzoek momenteel niet verwerken vanwege tijdelijke overbelasting of onderhoud.

Voorbeelden van gebruik in tests:

  • API-tests: Controle of de geretourneerde statuscodes overeenkomen met de verwachte (bijvoorbeeld 200 OK bij succesvolle gegevensophaling, 404 Not Found bij niet-bestaande bronnen).
  • Webapplicatietests: Controle van redirects (3xx-statuscodes), gebruikersfouten (4xx-statuscodes), werking van services onder belasting (503).

Voorbeeld van het controleren van de statuscode in Python met requests:

import requests

url = "https://www.example.com"
response = requests.get(url)

# Controleren of de aanvraag succesvol was (statuscode 2xx)
if response.status_code == 200:
    print("Aanvraag succesvol.")
else:
    print(f"Fout bij de aanvraag. Statuscode: {response.status_code}")