Jeder HTTP-Statuscode, was er bedeutet, wann man ihn sendet und aus welchem RFC er stammt
Läuft in Ihrem Browser. Nichts, was Sie eingeben, wird irgendwohin gesendet.Ein HTTP-Statuscode sagt in 3 Ziffern, was passiert ist. 404 heißt, die Ressource war nie da, 410, sie war da und ist endgültig weg, und 301 verschiebt sie dauerhaft. Jeder Code steht hier mit dem richtigen Einsatz und dem RFC, der ihn definiert.
Diese Seite wurde maschinell aus dem englischen Original übersetzt. Die Übersetzung wurde noch von keinem Menschen geprüft; maßgeblich ist die englische Fassung. Englisches Original lesen
Geben Sie in das Suchfeld eine Nummer, einen Namen oder das ein, was Sie sagen wollen, etwa „rate limit“.
Grenzen Sie die Liste Codes mit den Schaltflächen unter Anzeige ein: Häufig, Alle oder eine Klasse von 1xx bis 5xx.
Wählen Sie einen Code, um Bedeutung, Einsatz, Cache-Verhalten und den definierenden RFC zu lesen.
Wählen Sie unter „Diesen Code senden in“ eine Sprache und klicken Sie auf Snippet kopieren, um den Code zu erhalten, der ihn zurückgibt.
Diese Referenz der HTTP-Statuscodes listet jeden registrierten Code von 100 bis 511 sowie die nicht registrierten, die nginx, Apache, Laravel und Cloudflare zurückgeben. Jeder Eintrag sagt, was der Code tatsächlich bedeutet, wann man ihn sendet, ob ein Cache die Antwort ohne Cache-Header speichern darf, ob eine Weiterleitung die Anfragemethode ändert und welcher RFC ihn definiert.
Die Suche funktioniert auf drei Arten. Geben Sie eine Nummer wie 404 oder eine Klasse wie 4xx ein, um direkt dorthin zu springen. Geben Sie einen Namen wie „not found“ ein. Oder beschreiben Sie, was Sie ausdrücken wollen, und die Absichtssuche findet den Code: „login failed“ ergibt 401, „rate limit“ ergibt 429, „file too large“ ergibt 413, „validation failed“ ergibt 422.
Zwei Details, die die meisten Listen falsch darstellen, sind hier enthalten. Cachebarkeit ist kein Ja oder Nein: RFC 9110 Abschnitt 15.1 nennt zwölf Codes, die ein Cache ganz ohne explizite Header speichern darf, weshalb ein versehentliches 404 hängen bleiben kann. Und Weiterleitungen unterscheiden sich: 301 und 302 erlauben einem Client, aus einem POST ein GET zu machen, 303 tut das immer, während 307 und 308 Methode und Body exakt wiederholen müssen.
Jeder häufige Code kommt mit einem kopierbaren Snippet für rohes HTTP, Express, Fastify, FastAPI, Go und PHP, samt dem Header, den der Code verlangt, etwa WWW-Authenticate bei 401 oder Allow bei 405. Nichts wird irgendwohin gesendet; die ganze Tabelle steckt in der Seite.
Verwenden Sie 401 Unauthorized. Er bedeutet, dass der Server nicht weiß, wer Sie sind, also gehören fehlende, abgelaufene oder falsche Zugangsdaten dorthin. Verwenden Sie 403 Forbidden nur, wenn Sie wissen, wer anfragt, und trotzdem ablehnen. Die Spezifikation verlangt bei jedem 401 einen WWW-Authenticate-Header.
401 heißt nicht authentifiziert: Zugangsdaten senden und erneut versuchen. 403 heißt authentifiziert, aber nicht erlaubt: bessere Zugangsdaten helfen nicht. Wenn schon die Existenz eines Datensatzes ein Leck wäre, antworten manche APIs mit 404 statt 403, damit ein Angreifer nichts erfährt.
RFC 9110 Abschnitt 15.1 nennt 200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414 und 501 als heuristisch cachebar, RFC 7725 ergänzt 451. Ein Cache darf sie ohne Cache-Control- oder Expires-Header speichern, weshalb ein vorübergehendes 404 bestehen bleiben kann. Alle anderen Codes brauchen explizite Cache-Header.
Die Spezifikation erlaubt es nicht, aber fast jeder Browser tut genau das bei 301 und 302. Ein 303 macht die nächste Anfrage immer zu einem GET. Wenn Methode und Body die Weiterleitung überstehen müssen, verwenden Sie 307 für eine vorübergehende oder 308 für eine dauerhafte Verschiebung.
418 I'm a Teapot stammt aus RFC 2324, einem Aprilscherz von 1998 über ein Kaffeemaschinen-Protokoll. Ein Vorschlag von 2017, die Nummer wiederzuverwenden, wurde nach Einwänden zurückgezogen, daher bleibt sie im IANA-Register reserviert und darf nie eine echte Bedeutung bekommen.
Nein. 499 ist ein nginx-Code nur für Logs, für einen Client, der aufgelegt hat, und 520 bis 527 sind Cloudflare-Codes für Probleme zwischen dem Edge und Ihrem Ursprungsserver. Keiner ist bei der IANA registriert. Sie stehen hier, weil Sie ihnen in Logs begegnen werden, jeweils mit dem Produkt markiert, das sie erfunden hat.
Kommen Sie nicht weiter? Fragen Sie zu HTTP-Statuscodes und jeder, der es weiß, kann antworten. Kein Konto nötig.