Sobes.tech
Junior

Erzählen Sie über HTTP-Statuscodes.

sobes.tech KI

Antwort von AI

HTTP-Statuscodes sind dreistellige Zahlen, die vom Server als Antwort auf eine Client-Anfrage zurückgegeben werden und das Ergebnis der Anfrageverarbeitung anzeigen. Sie werden nach der ersten Ziffer klassifiziert:

  • 1xx (Informativ): Die Anfrage wurde akzeptiert, die Verarbeitung läuft weiter.
  • 2xx (Erfolg): Die Anfrage wurde erfolgreich empfangen, verstanden und akzeptiert.
  • 3xx (Weiterleitung): Für die Abschluss der Anfrage sind zusätzliche Aktionen erforderlich.
  • 4xx (Client-Fehler): Die Anfrage enthält einen Syntaxfehler oder kann nicht ausgeführt werden.
  • 5xx (Server-Fehler): Der Server konnte die korrekt formulierte Anfrage nicht ausführen.

Beispiele für die häufigsten Codes:

Code Kategorie Wert Beschreibung
100 Informativ Continue Der Server hat den Anfangsteil der Anfrage erhalten
200 Erfolg OK Die Anfrage wurde erfolgreich ausgeführt
201 Erfolg Created Die Anfrage wurde ausgeführt und eine neue Ressource wurde erstellt
204 Erfolg No Content Die Anfrage wurde ausgeführt, die Antwort enthält keinen Körper
301 Weiterleitung Moved Permanently Die Ressource wurde dauerhaft verschoben
302 Weiterleitung Found (Temporarily Moved) Die Ressource wurde vorübergehend verschoben
304 Weiterleitung Not Modified Die Ressource hat sich seit der letzten Anfrage nicht geändert
400 Client-Fehler Bad Request Syntaxfehler in der Anfrage
401 Client-Fehler Unauthorized Authentifizierung ist erforderlich
403 Client-Fehler Forbidden Der Zugriff auf die Ressource ist verboten
404 Client-Fehler Not Found Die Ressource unter der angegebenen URL wurde nicht gefunden
405 Client-Fehler Method Not Allowed Die verwendete HTTP-Methode ist nicht erlaubt
500 Server-Fehler Internal Server Error Interner Serverfehler
502 Server-Fehler Bad Gateway Ungültige Antwort vom Upstream-Server
503 Server-Fehler Service Unavailable Der Server ist vorübergehend nicht verfügbar

Das Wissen um Statuscodes hilft, die Fehlerursache zu verstehen, Anfragen zu debuggen und den Erfolg ihrer Ausführung zu bestimmen. In der Testautomatisierung werden sie häufig verwendet, um das erwartete Ergebnis von API-Anfragen zu überprüfen.

import requests

url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)

# Überprüfung des Statuscodes auf Erfolg (200 OK)
if response.status_code == 200:
    print("GET-Anfrage erfolgreich")
else:
    print(f"Fehler bei GET-Anfrage: Statuscode {response.status_code}")

url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)

# Überprüfung des Statuscodes auf Ressource nicht gefunden (404 Not Found)
if response_not_found.status_code == 404:
    print("Ressource nicht gefunden (erwartetes Verhalten)")
else:
    print(f"Unerwarteter Statuscode empfangen: {response_not_found.status_code}")