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}")