HTTP-Statuscode-Nachschlag
HTTP-Statuscodes offline nachschlagen
1xx Informational
2xx Success
3xx Redirection
4xx Client Error
5xx Server Error
Der HTTP Status Code Lookup bietet sofortigen Zugriff auf detaillierte Erklärungen für jeden HTTP-Antwort-Statuscode von 100 bis 599, einschließlich RFC-Referenzen, häufiger Anwendungsfälle und der feinen Unterschiede zwischen oft verwechselten Codes. Geben Sie einen Code wie 403 ein oder suchen Sie nach einem Stichwort wie "redirect", um den offiziellen Namen, die Bedeutung und praktische Hinweise zur Verwendung in Ihren eigenen APIs zu erhalten.
HTTP-Statuscodes verstehen
Jede HTTP-Antwort beginnt mit einem dreistelligen Statuscode, der dem Client mitteilt, was mit seiner Anfrage passiert ist. Wenn Sie jemals eine 404-Seite gesehen, einen 500-Fehler von einer API erhalten oder durch einen 301 stillschweigend weitergeleitet wurden, haben Sie Statuscodes in Aktion erlebt. Sie sind das Erste, was Ihr Browser, HTTP-Client oder Überwachungssystem prüft, wenn eine Antwort eintrifft, und die Wahl des richtigen Codes in Ihren eigenen APIs ist entscheidend für den Aufbau von Systemen, die sich vorhersehbar verhalten und leicht zu debuggen sind.
Statuscodes werden anhand ihrer ersten Ziffer in fünf Klassen eingeteilt. Die 1xx-Codes sind informativ -- der Server bestätigt die Anfrage, hat die Verarbeitung aber noch nicht abgeschlossen. Die 2xx-Codes zeigen Erfolg an -- die Anfrage wurde empfangen, verstanden und korrekt verarbeitet. Die 3xx-Codes behandeln Weiterleitungen -- der Client muss eine zusätzliche Aktion ausführen, in der Regel einer neuen URL folgen. Die 4xx-Codes signalisieren Client-Fehler -- die Anfrage war fehlerhaft, nicht autorisiert oder zeigte auf etwas, das nicht existiert. Und die 5xx-Codes zeigen Server-Fehler an -- der Server hat die Anfrage verstanden, konnte sie aber aufgrund eines internen Problems nicht verarbeiten.
Die Herausforderung besteht nicht darin zu wissen, dass 200 Erfolg und 404 nicht gefunden bedeutet -- das ist allgemein bekannt. Die eigentliche Komplexität liegt in den feinen Unterschieden. Sollten Sie 401 oder 403 verwenden, wenn einem Benutzer die Berechtigung fehlt? Ist 301 oder 308 die richtige Weiterleitung für einen POST-Endpunkt, der umgezogen ist? Sollte eine Suche ohne Ergebnisse 200 mit einem leeren Body, 204 oder 404 zurückgeben? Dieses Tool erklärt diese Unterschiede mit praktischen Hinweisen, damit Sie die richtige Wahl für Ihren spezifischen Anwendungsfall treffen können.
So schlagen Sie einen HTTP-Statuscode nach
- Geben Sie eine Statuscode-Nummer ein (z. B.
404) oder suchen Sie nach einem Stichwort (z. B. "redirect", "unauthorized"). - Sehen Sie den offiziellen Namen, die RFC-Referenz und die detaillierte Erklärung.
- Lesen Sie die Anwendungshinweise, wann Sie diesen Code in Ihrer eigenen API zurückgeben sollten.
HTTP-Statuscode-Kurzreferenz
Informativ (1xx)
| Code | Name | Bedeutung |
|---|---|---|
100 | Continue | Server hat Anfrage-Header empfangen; Client sollte den Body senden |
101 | Switching Protocols | Server wechselt zum über den Upgrade-Header angeforderten Protokoll (z. B. WebSocket) |
103 | Early Hints | Server sendet vorläufige Header (z. B. Link zum Vorladen) vor der endgültigen Antwort |
Erfolg (2xx)
| Code | Name | Bedeutung |
|---|---|---|
200 | OK | Standard-Erfolgsantwort |
201 | Created | Ressource wurde erfolgreich erstellt (üblich bei POST) |
204 | No Content | Erfolg, aber kein Body zurückzugeben (üblich bei DELETE) |
206 | Partial Content | Server gibt einen Bereich der Ressource zurück (verwendet mit Range-Header) |
Weiterleitung (3xx)
| Code | Name | Bedeutung |
|---|---|---|
301 | Moved Permanently | Ressource hat eine neue permanente URL; Suchmaschinen aktualisieren ihren Index |
302 | Found | Temporäre Weiterleitung; historisch mehrdeutig bezüglich der Methodenbeibehaltung |
304 | Not Modified | Zwischengespeicherte Version ist noch gültig; kein Body zurückgegeben |
307 | Temporary Redirect | Wie 302, aber garantiert, dass die HTTP-Methode nicht geändert wird |
308 | Permanent Redirect | Wie 301, aber garantiert, dass die HTTP-Methode nicht geändert wird |
Client-Fehler (4xx)
| Code | Name | Bedeutung |
|---|---|---|
400 | Bad Request | Server kann die Anfrage aufgrund fehlerhafter Syntax nicht verarbeiten |
401 | Unauthorized | Authentifizierung ist erforderlich und ist fehlgeschlagen oder wurde nicht bereitgestellt |
403 | Forbidden | Server hat die Anfrage verstanden, weigert sich aber, sie zu autorisieren |
404 | Not Found | Angefragte Ressource existiert nicht |
405 | Method Not Allowed | HTTP-Methode wird für diesen Endpunkt nicht unterstützt |
409 | Conflict | Anfrage kollidiert mit dem aktuellen Zustand der Ressource |
410 | Gone | Ressource existierte, wurde aber dauerhaft entfernt |
429 | Too Many Requests | Ratenlimit überschritten |
Server-Fehler (5xx)
| Code | Name | Bedeutung |
|---|---|---|
500 | Internal Server Error | Allgemeiner serverseitiger Fehler |
502 | Bad Gateway | Upstream-Server hat eine ungültige Antwort zurückgegeben |
503 | Service Unavailable | Server ist vorübergehend überlastet oder in Wartung |
504 | Gateway Timeout | Upstream-Server hat nicht rechtzeitig geantwortet |
Häufig verwechselte Statuscodes
301 vs. 302 vs. 307 vs. 308
301Moved Permanently -- Verwenden Sie dies, wenn sich die URL einer Ressource dauerhaft geändert hat. Browser und Suchmaschinen können bei der Weiterleitung POST zu GET ändern.302Found -- Temporäre Weiterleitung. Historisch haben Browser POST zu GET geändert, obwohl die Spezifikation dies nicht vorsah. In der Praxis mehrdeutig.307Temporary Redirect -- Wie302, aber der Browser muss die ursprüngliche HTTP-Methode beibehalten (POST bleibt POST).308Permanent Redirect -- Wie301, aber der Browser muss die ursprüngliche HTTP-Methode beibehalten. Verwenden Sie dies statt301, wenn Sie Formularübermittlungen weiterleiten.
401 vs. 403
401Unauthorized -- Der Client hat keine gültigen Authentifizierungsdaten bereitgestellt. Die Antwort sollte einenWWW-Authenticate-Header enthalten, der das erwartete Authentifizierungsschema angibt.403Forbidden -- Der Client ist authentifiziert (oder eine Authentifizierung ist nicht erforderlich), hat aber keine Berechtigung, auf die Ressource zuzugreifen. Eine erneute Authentifizierung hilft nicht.
404 vs. 410
404Not Found -- Die Ressource ist nicht verfügbar. Sie hat möglicherweise nie existiert oder könnte in Zukunft existieren.410Gone -- Die Ressource existierte zuvor, wurde aber absichtlich und dauerhaft entfernt. Suchmaschinen deindexieren die URL mit410schneller als mit404.
500 vs. 502 vs. 503 vs. 504
500-- Der Server selbst ist bei der Verarbeitung der Anfrage auf einen Fehler gestoßen (unbehandelte Ausnahme, Bug).502-- Ein Reverse-Proxy oder Load-Balancer hat eine ungültige Antwort von einem Upstream-Server erhalten.503-- Der Server kann vorübergehend keine Anfragen verarbeiten (überlastet, in Wartung). Enthält oft einenRetry-After-Header.504-- Ein Reverse-Proxy oder Load-Balancer hat auf die Antwort eines Upstream-Servers gewartet und ein Timeout erhalten.
Wann Sie dieses Tool verwenden sollten
- Entwurf von RESTful APIs -- Semantisch korrekte Statuscodes für jeden Endpunkt und jede Fehlerbedingung wählen.
- Debugging von API-Antworten -- Verstehen, was ein unbekannter oder unerwarteter Statuscode in Server-Logs bedeutet.
- Umgang mit Weiterleitungen -- Bestimmen, ob
301,302,307oder308für Ihr spezifisches Weiterleitungsszenario geeignet ist. - Konfiguration von Monitoring-Alarmen -- Alarme für bestimmte Statuscodes einrichten mit Verständnis dessen, was jeder einzelne anzeigt.
- SEO-Optimierung -- Die richtigen Weiterleitungscodes (
301vs.302) verwenden, um Suchmaschinen-Rankings bei URL-Migrationen beizubehalten. - Incident-Triage -- Schnell feststellen, ob ein 5xx-Fehler von Ihrer Anwendung (
500) oder von der Infrastruktur (502,504) stammt.
Praktische Hinweise für API-Statuscodes
Einer der häufigsten API-Designfehler ist die übermäßige Verwendung von 200 OK für alles, einschließlich Fehler. Einige APIs geben 200 mit einer Fehlermeldung im Body zurück, was den Client zwingt, die Antwort zu parsen, um festzustellen, ob die Anfrage tatsächlich erfolgreich war. Dies bricht Standard-HTTP-Tooling, macht Monitoring unzuverlässig und verwirrt Entwickler, die erwarten, dass HTTP-Statuscodes das tatsächliche Ergebnis widerspiegeln. Verwenden Sie 200 für Erfolg, 4xx für Client-Fehler und 5xx für Server-Fehler -- dafür sind die Codes da.
Eine weitere häufige Verwirrungsquelle ist die Wahl zwischen 404 und leeren Erfolgsantworten. Wenn ein Benutzer nach Produkten sucht und die Suche keine Ergebnisse liefert, ist die korrekte Antwort 200 mit einem leeren Array -- der Such-Endpunkt existiert, er hat funktioniert und nichts gefunden. Wenn der Benutzer ein bestimmtes Produkt anhand der ID anfragt und dieses Produkt nicht existiert, ist die korrekte Antwort 404 -- die angefragte Ressource ist nicht vorhanden. Der Unterschied besteht zwischen "Ich habe getan, was du verlangt hast, und die Antwort ist nichts" (200) versus "Das, wonach du gefragt hast, existiert nicht" (404).
Für APIs, die sowohl authentifizierte als auch nicht authentifizierte Benutzer bedienen, sollten Sie darauf achten, welche Informationen Sie durch Statuscodes preisgeben. Mit 403 auf eine nicht autorisierte Anfrage für /admin/users zu antworten, bestätigt, dass der Endpunkt existiert. Mit 404 zu antworten, verrät hingegen nichts über Ihre URL-Struktur. Die Sicherheitsgemeinde nennt dies "Security through Obscurity", und es hat seine Grenzen, aber es ist eine vernünftige Defense-in-Depth-Maßnahme für sensible Endpunkte.
Häufig gestellte Fragen
Was sind die benutzerdefinierten 5xx-Statuscodes von CloudFlare?
CloudFlare verwendet die Codes 520 bis 527 für Probleme zwischen ihren Edge-Servern und Origin-Servern. Zum Beispiel bedeutet 520, dass der Origin eine unerwartete Antwort zurückgab, 521 bedeutet, dass der Origin-Webserver nicht erreichbar ist, 522 bedeutet, dass die Verbindung zum Origin ein Timeout hatte, und 524 bedeutet, dass der Origin geantwortet hat, aber zu lange gebraucht hat.
Gibt es einen Unterschied zwischen "Unauthorized" und "Unauthenticated"?
Technisch gesehen sollte HTTP 401 "Unauthenticated" heißen, weil es bedeutet, dass der Client seine Identität nicht nachgewiesen hat. Der Name "Unauthorized" ist ein historischer Fehlbenennung in der Spezifikation. Ein tatsächlicher Autorisierungsfehler (Sie sind authentifiziert, haben aber keine Berechtigung) ist 403 Forbidden.
Sollte ich 404 oder 204 verwenden, wenn eine Suche keine Ergebnisse liefert?
Verwenden Sie 200 mit einer leeren Ergebnismenge. Die Ressource (der Such-Endpunkt) existiert und hat erfolgreich geantwortet -- sie hat nur keine übereinstimmenden Einträge gefunden. Reservieren Sie 404 für den Fall, dass der Endpunkt selbst nicht existiert.
Wann sollte ich 429 Too Many Requests verwenden?
Verwenden Sie 429, wenn ein Client das Ratenlimit Ihrer API überschritten hat. Fügen Sie einen Retry-After-Header hinzu, der angibt, wie viele Sekunden der Client warten soll, bevor er es erneut versucht. Fügen Sie außerdem X-RateLimit-Limit- und X-RateLimit-Remaining-Header hinzu, damit Clients ihren aktuellen Kontingent-Status sehen können, ohne das Limit zu erreichen.
Was ist der Unterschied zwischen 502 und 504 bei einem Reverse-Proxy-Setup?
Ein 502 Bad Gateway bedeutet, dass der Proxy eine Antwort vom Upstream-Server erhalten hat, aber die Antwort ungültig oder fehlerhaft war (z. B. der Upstream hat fehlerhafte Daten zurückgegeben oder die Verbindung mitten in der Antwort geschlossen). Ein 504 Gateway Timeout bedeutet, dass der Proxy überhaupt keine Antwort erhalten hat -- der Upstream-Server hat nicht innerhalb der konfigurierten Timeout-Periode geantwortet. Beide weisen auf Upstream-Probleme hin, aber 504 deutet typischerweise darauf hin, dass der Upstream überlastet oder nicht erreichbar ist, während 502 darauf hindeutet, dass er antwortet, aber sich fehlerhaft verhält.
Sollte ich 201 Created oder 200 OK nach dem Erstellen einer Ressource zurückgeben?
Verwenden Sie 201 Created für POST-Anfragen, die eine neue Ressource erstellen. Fügen Sie einen Location-Header hinzu, der auf die URL der neu erstellten Ressource verweist. Dies folgt den REST-Konventionen und hilft Clients, die neue Ressource zu finden, ohne den Antwort-Body parsen zu müssen. Verwenden Sie 200 für Aktualisierungen bestehender Ressourcen (PUT/PATCH).
Verwandte Tools
- HTTP Header Formatter - HTTP-Antwort-Header parsen und formatieren, die Statuscodes begleiten
- CORS Header Explainer - CORS-Fehler verstehen, die bestimmte Statuscodes erzeugen
- MIME Type Lookup - Content-Type-Header nachschlagen, die mit HTTP-Antworten zurückgegeben werden
- Cookie Header Parser - Set-Cookie-Header aus HTTP-Antworten parsen
- curl Command Builder - curl-Befehle erstellen, um Endpunkte zu testen und Statuscodes zu inspizieren