nicetool.dev logo

HTTP-Statuscodes

Suche nach Nummer oder Name oder filtere nach Klasse. Jeder Code verlinkt auf seine Spezifikation.

1xx Information

Die Anfrage ist eingegangen und wird weiter verarbeitet. Im Anwendungscode selten zu sehen.

100

Continue

Der Server hat die Anfrage-Header erhalten, der Client darf den Body senden. Wird mit "Expect: 100-continue" vor großen Uploads genutzt.

RFC 9110
101

Switching Protocols

Der Server wechselt wie gewünscht das Protokoll, etwa von HTTP/1.1 zu WebSocket.

RFC 9110
102

Processing

WebDAV: Der Server hat die Anfrage angenommen und arbeitet noch daran, der Client soll nicht abbrechen.

RFC 2518
103

Early Hints

Sendet früh Link-Header, damit der Browser CSS oder Schriften vorlädt, während der Server die eigentliche Antwort vorbereitet.

RFC 8297

2xx Erfolg

Die Anfrage wurde empfangen, verstanden und angenommen.

200

OK

Die Anfrage war erfolgreich. Der Body enthält die angeforderte Ressource oder das Ergebnis der Aktion.

RFC 9110
201

Created

Eine neue Ressource wurde angelegt, meist nach einem POST. Der Location-Header sollte auf sie zeigen.

RFC 9110
202

Accepted

Die Anfrage wurde zur Verarbeitung angenommen, ist aber noch nicht fertig, etwa ein Hintergrundjob in einer Warteschlange.

RFC 9110
203

Non-Authoritative Information

Erfolgreich, aber ein umwandelnder Proxy hat die Antwort verändert, sie entspricht also nicht genau dem Original.

RFC 9110
204

No Content

Erfolg ohne Inhalt. Üblich für DELETE oder zum Speichern eines Formulars ohne Neuladen.

RFC 9110
205

Reset Content

Erfolg; der Client soll das Formular oder die Ansicht zurücksetzen, die die Anfrage gesendet hat.

RFC 9110
206

Partial Content

Nur ein Teil der Ressource wird geliefert, wie per Range-Header angefordert. Für fortsetzbare Downloads und Video-Spulen.

RFC 9110
207

Multi-Status

WebDAV: Der Body enthält mehrere Statuscodes für mehrere Operationen.

RFC 4918
208

Already Reported

WebDAV: Bereits weiter oben in der Antwort gelistete Elemente werden nicht wiederholt.

RFC 5842
226

IM Used

Der Server hat Delta-Encoding auf die Antwort angewendet. Sehr selten genutzt.

RFC 3229

3xx Umleitung

Um die Anfrage abzuschließen, ist ein weiterer Schritt nötig, meist das Aufrufen einer anderen URL.

300

Multiple Choices

Es gibt mehrere Darstellungen (etwa Sprachen oder Formate), der Client soll eine auswählen.

RFC 9110
301

Moved Permanently

Die Ressource hat dauerhaft eine neue URL, angegeben in Location. Suchmaschinen übertragen das Ranking.

RFC 9110
302

Found

Die Ressource liegt vorübergehend unter einer anderen URL. Clients nutzen weiter die alte; Browser können aus POST ein GET machen.

RFC 9110
303

See Other

Das Ergebnis ist per GET unter einer anderen URL abrufbar. Nach einem Formular-POST gegen erneutes Absenden (Post/Redirect/Get).

RFC 9110
304

Not Modified

Die gecachte Kopie ist noch gültig (If-None-Match oder If-Modified-Since passt), daher kein Body.

RFC 9110
307

Temporary Redirect

Vorübergehende Weiterleitung, die Methode und Body beibehält, ein POST bleibt ein POST.

RFC 9110
308

Permanent Redirect

Dauerhafte Weiterleitung, die Methode und Body beibehält. Die strenge Variante von 301.

RFC 9110

4xx Client-Fehler

Die Anfrage ist fehlerhaft: falsche Syntax, fehlende Anmeldung, keine Berechtigung oder eine nicht vorhandene Ressource.

400

Bad Request

Der Server kann die fehlerhafte Anfrage nicht verarbeiten: falsche Syntax, kaputtes JSON oder falsche Parameter.

RFC 9110
401

Unauthorized

Die Authentifizierung fehlt oder ist ungültig. Die Antwort enthält WWW-Authenticate mit dem Anmeldeverfahren.

RFC 9110
402

Payment Required

Für künftige digitale Zahlungssysteme reserviert; manche APIs nutzen ihn, wenn ein Abo oder Kontingent bezahlt werden muss.

RFC 9110
403

Forbidden

Der Server weiß, wer du bist, verweigert aber die Aktion mangels Berechtigung. Neu anmelden hilft nicht.

RFC 9110
404

Not Found

Die Ressource existiert nicht, oder der Server will nicht verraten, dass es sie gibt.

RFC 9110
405

Method Not Allowed

Die HTTP-Methode wird für diese URL nicht unterstützt, etwa POST auf eine schreibgeschützte Ressource. Allow nennt gültige Methoden.

RFC 9110
406

Not Acceptable

Der Server kann keine Antwort liefern, die zu den Accept-Headern (Typ, Sprache, Kodierung) passt.

RFC 9110
407

Proxy Authentication Required

Wie 401, aber der Client muss sich zuerst beim Proxy anmelden.

RFC 9110
408

Request Timeout

Der Server hat zu lange auf das Ende der Anfrage gewartet und die Verbindung geschlossen.

RFC 9110
409

Conflict

Die Anfrage widerspricht dem aktuellen Zustand, etwa ein Bearbeitungskonflikt oder ein doppelter eindeutiger Schlüssel.

RFC 9110
410

Gone

Die Ressource wurde absichtlich entfernt und kommt nicht zurück. Suchmaschinen entfernen sie schneller als bei 404.

RFC 9110
411

Length Required

Der Server verlangt für diese Anfrage einen Content-Length-Header.

RFC 9110
412

Precondition Failed

Ein bedingter Header wie If-Match passte nicht, oft genutzt, um fremde Änderungen nicht zu überschreiben.

RFC 9110
413

Content Too Large

Der Anfrage-Body ist größer als erlaubt (früher "Payload Too Large").

RFC 9110
414

URI Too Long

Die URL ist länger als erlaubt, oft weil zu viele Daten in den Query-String einer GET-Anfrage gepackt wurden.

RFC 9110
415

Unsupported Media Type

Das Body-Format (Content-Type) wird nicht unterstützt, etwa XML an eine reine JSON-API.

RFC 9110
416

Range Not Satisfiable

Der Range-Header verlangt einen Teil der Datei, den es nicht gibt.

RFC 9110
417

Expectation Failed

Der Server kann die Anforderung im Expect-Header nicht erfüllen.

RFC 9110
418

I'm a teapot

Ein Aprilscherz aus dem Hyper Text Coffee Pot Control Protocol: Eine Teekanne kann keinen Kaffee kochen. Manche Websites nutzen ihn als Easter Egg.

RFC 2324
421

Misdirected Request

Die Anfrage landete bei einem Server, der für diesen Host nicht antworten kann, etwa wenn eine wiederverwendete HTTP/2-Verbindung zum falschen Origin führt.

RFC 9110
422

Unprocessable Content

Die Syntax stimmt, der Inhalt ist aber ungültig, etwa verletzte Validierungsregeln (früher "Unprocessable Entity").

RFC 9110
423

Locked

WebDAV: Die Ressource ist gesperrt.

RFC 4918
424

Failed Dependency

WebDAV: Die Anfrage schlug fehl, weil eine andere, von der sie abhing, fehlgeschlagen ist.

RFC 4918
425

Too Early

Der Server verarbeitet keine Anfrage, die wiederholt eingespielt werden könnte, etwa TLS-1.3-Early-Data.

RFC 8470
426

Upgrade Required

Der Client muss auf ein anderes Protokoll wechseln, angegeben im Upgrade-Header.

RFC 9110
428

Precondition Required

Der Server verlangt bedingte Anfragen (If-Match), um verlorene Updates zu vermeiden.

RFC 6585
429

Too Many Requests

Der Client hat in kurzer Zeit zu viele Anfragen gesendet (Rate Limiting). Retry-After sagt, wann es weitergeht.

RFC 6585
431

Request Header Fields Too Large

Die Header sind insgesamt oder einzeln zu groß, oft wegen aufgeblähter Cookies.

RFC 6585
451

Unavailable For Legal Reasons

Die Ressource ist aus rechtlichen Gründen gesperrt, etwa Zensur oder Gerichtsbeschluss. Die Zahl spielt auf "Fahrenheit 451" an.

RFC 7725

5xx Server-Fehler

Die Anfrage wirkte gültig, aber der Server konnte sie nicht verarbeiten.

500

Internal Server Error

Allgemeiner Fehler: Auf dem Server ist etwas Unerwartetes passiert. Prüfe die Serverlogs.

RFC 9110
501

Not Implemented

Der Server unterstützt die zur Erfüllung nötige Funktion oder Methode nicht.

RFC 9110
502

Bad Gateway

Ein Gateway oder Proxy erhielt eine ungültige Antwort vom Upstream-Server, etwa wenn die App hinter Nginx abgestürzt ist.

RFC 9110
503

Service Unavailable

Der Server kann wegen Überlast oder Wartung vorübergehend keine Anfragen bearbeiten. Retry-After kann den Zeitpunkt nennen.

RFC 9110
504

Gateway Timeout

Ein Gateway oder Proxy bekam vom Upstream-Server nicht rechtzeitig eine Antwort.

RFC 9110
505

HTTP Version Not Supported

Der Server unterstützt die in der Anfrage genutzte HTTP-Version nicht.

RFC 9110
506

Variant Also Negotiates

Fehlkonfigurierte Inhaltsaushandlung: Die gewählte Variante will selbst erneut aushandeln.

RFC 2295
507

Insufficient Storage

WebDAV: Der Server kann die zur Erfüllung nötigen Daten nicht speichern.

RFC 4918
508

Loop Detected

WebDAV: Der Server hat bei der Verarbeitung eine Endlosschleife entdeckt.

RFC 5842
510

Not Extended

Weitere Erweiterungen der Anfrage sind nötig. Veraltet und praktisch ungenutzt.

RFC 2774
511

Network Authentication Required

Der Client muss sich erst im Netzwerk anmelden, typischerweise im Captive Portal eines Hotel- oder Flughafen-WLANs.

RFC 6585

Was sind HTTP-Statuscodes?

Jede HTTP-Antwort beginnt mit einem dreistelligen Statuscode, der dem Client mitteilt, wie die Anfrage gelaufen ist. Die erste Ziffer bestimmt die Klasse: 1xx Information, 2xx Erfolg, 3xx Umleitung, 4xx Client-Fehler und 5xx Server-Fehler. Browser, Suchmaschinen, Caches, API-Clients und Monitoring-Tools reagieren auf diese Codes, daher ist die richtige Wahl wichtig: Ein 301 überträgt SEO-Wert auf eine neue URL, ein 302 nicht, ein 503 bittet Crawler später wiederzukommen und ein 429 bremst API-Clients. Die Codes sind hauptsächlich in RFC 9110 (HTTP Semantics) definiert, einige in eigenen RFCs.

Funktionen

  • • Alle 61 bei der IANA registrierten Statuscodes von 100 bis 511
  • • Verständliche Erklärung, was jeder Code bedeutet und wann man ihn nutzt
  • • Sofortsuche nach Nummer, Name oder Stichwort plus Klassenfilter
  • • Direkte Links zum RFC-Abschnitt, der jeden Code definiert
  • • Farblich nach Klasse markiert und per #Code-Anker verlinkbar

Schnell und offline-tauglich

Die gesamte Referenz ist in die Seite eingebettet, daher läuft die Suche sofort im Browser ohne Anfragen an einen Server.

Durchsuchbare Referenz, kein Tracking.

So verwenden Sie: HTTP-Statuscodes

  1. 1

    Gib eine Nummer wie 404, einen Namen wie "gateway" oder ein Wort wie "redirect" in das Suchfeld ein. Die Ergebnisse aktualisieren sich beim Tippen.

  2. 2

    Grenze die Liste mit den Klassen-Chips (1xx bis 5xx) ein, um etwa alle Client-Fehler auf einmal durchzugehen.

  3. 3

    Lies die Erklärung unter jedem Code: was er bedeutet, wann ein Server ihn senden sollte und wie Clients reagieren.

  4. 4

    Folge dem RFC-Link für die genaue Spezifikation oder teile einen Code direkt mit einem Anker wie #429.

Praxisbeispiele

REST-API entwerfen

Nach einem POST 201 Created mit Location-Header, nach einem DELETE 204 No Content, 400 bei kaputtem JSON, 422 bei Validierungsfehlern und 409, wenn die Anfrage dem aktuellen Zustand widerspricht.

Seiten SEO-freundlich umziehen

Nutze 301 oder 308 für dauerhafte Umzüge, damit Suchmaschinen Rankings übertragen, und 302 oder 307 für vorübergehende Weiterleitungen wie A/B-Tests. 308 und 307 lassen POST außerdem POST bleiben.

Authentifizierungsfehler

Sende 401, wenn niemand angemeldet oder das Token ungültig ist, und 403, wenn der Nutzer bekannt, aber nicht berechtigt ist. Viele APIs liefern 404 statt 403, um zu verbergen, dass eine Ressource existiert.

Wartung und Überlast

Liefere während der Wartung 503 mit Retry-After-Header, damit Crawler deine Rankings behalten, und 429 mit Retry-After, wenn ein Client sein Rate Limit überschreitet.

Häufige Fragen

Was ist der Unterschied zwischen 401 und 403?+

401 Unauthorized heißt "Wer bist du?": Die Authentifizierung fehlt oder ist gescheitert. 403 Forbidden heißt "Ich weiß, wer du bist, aber du darfst das nicht". Neu anmelden behebt 401, nicht 403.

301 oder 302 für Weiterleitungen?+

Nimm 301 (oder 308), wenn die alte URL dauerhaft weg ist, und 302 (oder 307), wenn sie zurückkommt. Ein 302 für einen dauerhaften Umzug kann die Indexierung der neuen URL verzögern.

Was ist der Unterschied zwischen 502, 503 und 504?+

502 Bad Gateway: Ein Proxy bekam eine ungültige Antwort vom Upstream. 503 Service Unavailable: Der Server ist überlastet oder in Wartung. 504 Gateway Timeout: Der Upstream hat nicht rechtzeitig geantwortet.

Sollten Fehler 200 mit Fehlermeldung liefern?+

Nein. Clients, Caches und Monitoring verlassen sich auf den Statuscode. 200 bei Fehlern versteckt sie vor Tools und kann Fehlerseiten als "Soft 404" in den Index bringen.