HTTP-Statuscodes

4 Kategorien
Die wichtigsten HTTP-Statuscodes für Webentwicklung, API-Design und Fehlersuche: 2xx Erfolg · 3xx Umleitung · 4xx Client-Fehler · 5xx Server-Fehler HTTP-Statuscodes sind die Antwortcodes, die ein Server an den Client zurücksendet. Sie geben Aufschluss über den Erfolg oder Misserfolg einer Anfrage – unverzichtbar für die Fehlersuche und API-Entwicklung.

2xx – Erfolg (Success)

200 · 201 · 204 · 206
200 OK # Anfrage erfolgreich 201 Created # Ressource erstellt 204 No Content # Erfolgreich, aber kein Inhalt 206 Partial Content # Teilinhalt (Range-Requests)

2xx-Statuscodes zeigen an, dass die Anfrage erfolgreich war und der Server die erwartete Antwort geliefert hat. Sie sind das Ziel jeder HTTP-Anfrage.

2xx – Erfolg

Code Bedeutung Beschreibung
200 OK Erfolg Die Anfrage war erfolgreich. Die Antwort enthält die angeforderten Daten.
201 Created Erstellt Die Anfrage wurde erfolgreich ausgeführt und eine neue Ressource wurde erstellt (z.B. bei POST).
202 Accepted Akzeptiert Die Anfrage wurde zur Verarbeitung angenommen, aber die Verarbeitung ist noch nicht abgeschlossen.
204 No Content Kein Inhalt Die Anfrage war erfolgreich, aber der Server sendet keinen Inhalt (z.B. bei DELETE).
206 Partial Content Teilinhalt Der Server sendet nur einen Teil der Ressource (z.B. bei Range-Requests für große Dateien).
Tipp: Verwenden Sie 201 Created bei erfolgreichen POST- oder PUT-Anfragen, die eine neue Ressource anlegen. Der Location-Header sollte die URL der neuen Ressource enthalten.

3xx – Umleitung (Redirection)

301 · 302 · 303 · 307 · 308
301 Moved Permanently # Dauerhafte Weiterleitung 302 Found # Temporäre Weiterleitung 303 See Other # Nach POST → GET 307 Temporary Redirect # Temporär (Methode bleibt) 308 Permanent Redirect # Permanent (Methode bleibt)

3xx-Statuscodes zeigen an, dass die angeforderte Ressource an einer anderen URL zu finden ist. Sie werden für Weiterleitungen und Umleitungen verwendet.

3xx – Umleitung

Code Bedeutung Beschreibung
301 Moved Permanently Dauerhaft verschoben Die Ressource wurde dauerhaft an eine neue URL verschoben. Search Engines aktualisieren den Index.
302 Found Gefunden (temporär) Temporäre Weiterleitung – die Methode kann sich ändern (z.B. POST → GET).
303 See Other Siehe andere Wird nach POST verwendet, um auf eine andere Ressource umzuleiten (immer GET).
304 Not Modified Nicht verändert Die Ressource wurde seit dem letzten Abruf nicht verändert (Cache).
307 Temporary Redirect Temporäre Umleitung Wie 302, aber die HTTP-Methode bleibt erhalten (z.B. POST bleibt POST).
308 Permanent Redirect Permanente Umleitung Wie 301, aber die HTTP-Methode bleibt erhalten (z.B. POST bleibt POST).
Tipp: Für SEO-optimierte Weiterleitungen verwenden Sie 301 (permanent) für dauerhafte Änderungen und 302 (temporär) für vorübergehende Umleitungen. Für APIs mit POST-Anfragen bevorzugen Sie 307 oder 308.

4xx – Client-Fehler (Client Errors)

400 · 401 · 403 · 404 · 405 · 409 · 429
400 Bad Request # Fehlerhafte Anfrage 401 Unauthorized # Nicht autorisiert 403 Forbidden # Verboten 404 Not Found # Nicht gefunden 429 Too Many Requests # Zu viele Anfragen

4xx-Statuscodes zeigen an, dass der Client einen Fehler gemacht hat – z.B. eine ungültige Anfrage, fehlende Authentifizierung oder der Zugriff auf eine nicht existierende Ressource.

4xx – Client-Fehler

Code Bedeutung Beschreibung
400 Bad Request Fehlerhafte Anfrage Die Anfrage ist syntaktisch falsch oder kann nicht verarbeitet werden (z.B. JSON-Fehler).
401 Unauthorized Nicht autorisiert Authentifizierung ist erforderlich, aber nicht erfolgt oder ungültig.
403 Forbidden Verboten Der Client ist authentifiziert, hat aber keine Berechtigung für die Ressource.
404 Not Found Nicht gefunden Die angeforderte Ressource existiert nicht auf dem Server.
405 Method Not Allowed Methode nicht erlaubt Die verwendete HTTP-Methode wird für diese Ressource nicht unterstützt.
409 Conflict Konflikt Die Anfrage kann aufgrund eines Konflikts mit dem aktuellen Zustand nicht verarbeitet werden.
429 Too Many Requests Zu viele Anfragen Der Client hat das Ratenlimit überschritten (Rate Limiting).
422 Unprocessable Entity Unverarbeitbare Entität Die Anfrage ist syntaktisch korrekt, aber semantisch fehlerhaft (z.B. Validierungsfehler).
Tipp: Verwenden Sie 404 für Ressourcen, die nicht existieren, und 403 für Zugriffsverweigerung. 401 sollte verwendet werden, wenn der Client sich authentifizieren muss. 429 hilft bei der Implementierung von Rate Limiting.

5xx – Server-Fehler (Server Errors)

500 · 501 · 502 · 503 · 504
500 Internal Server Error # Interner Server-Fehler 502 Bad Gateway # Fehlerhafter Gateway 503 Service Unavailable # Dienst nicht verfügbar 504 Gateway Timeout # Gateway-Zeitüberschreitung

5xx-Statuscodes zeigen an, dass der Server einen Fehler hat – sei es ein interner Fehler, ein Gateway-Problem oder eine Überlastung.

5xx – Server-Fehler

Code Bedeutung Beschreibung
500 Internal Server Error Interner Server-Fehler Allgemeiner Fehler – der Server hat einen unerwarteten Fehler erlebt.
501 Not Implemented Nicht implementiert Die Anfrage-Methode wird vom Server nicht unterstützt.
502 Bad Gateway Fehlerhafter Gateway Der Server (Gateway/Proxy) hat eine ungültige Antwort von einem Upstream-Server erhalten.
503 Service Unavailable Dienst nicht verfügbar Der Server ist vorübergehend nicht erreichbar (Überlastung oder Wartung).
504 Gateway Timeout Gateway-Zeitüberschreitung Der Server (Gateway) hat keine rechtzeitige Antwort vom Upstream-Server erhalten.
505 HTTP Version Not Supported HTTP-Version nicht unterstützt Die verwendete HTTP-Version wird vom Server nicht unterstützt.
507 Insufficient Storage Unzureichender Speicher Der Server hat nicht genügend Speicherplatz für die Anfrage.
Tipp: 502 und 504 treten häufig bei Proxy-Konfigurationen (wie NGINX) auf. 503 ist ideal für geplante Wartungsarbeiten – kombinieren Sie es mit einem Retry-After-Header.

Statuscode-Kategorien im Überblick

2xx Erfolg
Anfrage erfolgreich
3xx Umleitung
Weiterleitung erforderlich
4xx Client-Fehler
Fehler beim Client
5xx Server-Fehler
Fehler beim Server

Quick Summary

200
OK
301
Permanent
404
Nicht gefunden
500
Server-Fehler
200 OK · 301 Moved Permanently · 404 Not Found · 500 Internal Server Error