Zum Inhalt springen

HTTP-Statuscodes

HTTP Status Reference

Erklärt jeden Statuscode mit seiner Bedeutung laut Spezifikation, seiner Cachebarkeit und den Fehlern, die damit gemacht werden.

Eine durchsuchbare Referenz für jeden HTTP-Statuscode – was er bedeutet, welcher RFC ihn definiert, ob ein Cache ihn standardmäßig speichern darf und mit welchem Header er gesendet werden muss. Die Suche findet Code, Name und Zusammenfassung und versteht Suchbegriffe auf Englisch, Koreanisch, Japanisch, Chinesisch (vereinfacht) und Spanisch – nicht auf Deutsch.

🔒 Läuft vollständig in Ihrem Browserhttpstatusreference

Durchsucht Code, Name, Kurzfassung und Anmerkungen — auf Englisch, Koreanisch, Japanisch, Chinesisch (vereinfacht) und Spanisch.

Klasse

404 Not Found

404Not Found

Unter dieser URL liegt keine Ressource.

Client-Fehler — Der Fehler liegt bei der Anfrage. Sie unverändert zu wiederholen scheitert genauso.

Definiert in
RFC 9110 §15.5.5
Standardmäßig cachefähig
ja

Standardmäßig cachefähig — eine Tatsache, die jeden beim ersten Mal überrascht, wenn ein CDN weiter 404 für eine Seite liefert, die es inzwischen gibt.

62 von 62 Codes

Alle HTTP-Statuscodes mit ihrer Bedeutung.
CodeNameBedeutetCachefähig
100ContinueDer Client darf fortfahren und den Anfrage-Body senden.nein
101Switching ProtocolsDer Server wechselt zu dem Protokoll, das der Client verlangt hat.nein
102ProcessingWebDAV: An der Anfrage wird gearbeitet.nein
103Early HintsVorläufige Header, damit der Client schon vor der eigentlichen Antwort mit dem Vorladen beginnen kann.nein
200OKDie Anfrage war erfolgreich.ja
201CreatedEine neue Ressource wurde angelegt.nein
202AcceptedDie Anfrage wurde angenommen, aber noch nicht ausgeführt.nein
203Non-Authoritative InformationEin Proxy hat die weitergereichte Antwort verändert.ja
204No ContentErfolg, und absichtlich ohne Body.ja
205Reset ContentErfolg; der Client sollte das abgeschickte Formular leeren.nein
206Partial ContentDer angeforderte Bytebereich.ja
207Multi-StatusWebDAV: ein XML-Body mit einem Status je Teilanfrage.nein
208Already ReportedWebDAV: Dieses Element wurde bereits aufgezählt.nein
226IM UsedDie Antwort ist das Ergebnis angewandter Instanzmanipulationen.nein
300Multiple ChoicesEs gibt mehrere Darstellungen; wählen Sie eine.ja
301Moved PermanentlyDie Ressource hat dauerhaft eine neue URL.ja
302FoundEine vorübergehende Weiterleitung.nein
303See OtherHolen Sie die andere URL mit GET.nein
304Not ModifiedDie Kopie im Cache ist noch gültig.nein
305Use ProxyVeraltet: Der Client solle den genannten Proxy verwenden.nein
307Temporary RedirectEine vorübergehende Weiterleitung, die die Methode beibehält.nein
308Permanent RedirectEine dauerhafte Weiterleitung, die die Methode beibehält.ja
400Bad RequestDie Anfrage ist fehlerhaft aufgebaut, der Server verarbeitet sie nicht.nein
401UnauthorizedEine Authentifizierung ist nötig, oder die vorgelegten Anmeldedaten wurden abgelehnt.nein
402Payment RequiredReserviert, und nie mit einer Bedeutung versehen.nein
403ForbiddenDer Server hat verstanden und verweigert.nein
404Not FoundUnter dieser URL liegt keine Ressource.ja
405Method Not AllowedDie URL gibt es; diese Methode passt nicht dazu.ja
406Not AcceptableNichts, was der Server erzeugen kann, passt zum `Accept`-Header.nein
407Proxy Authentication RequiredDer Proxy verlangt Anmeldedaten.nein
408Request TimeoutDer Client hat zu lange gebraucht, die Anfrage zu senden.nein
409ConflictDie Anfrage steht im Widerspruch zum aktuellen Zustand.nein
410GoneEs war hier und kommt absichtlich nicht zurück.ja
411Length RequiredEin `Content-Length`-Header ist erforderlich.nein
412Precondition FailedEine `If-Match`- oder `If-Unmodified-Since`-Bedingung war nicht erfüllt.nein
413Content Too LargeDer Body ist größer, als der Server akzeptiert.nein
414URI Too LongDie URL ist länger, als der Server akzeptiert.ja
415Unsupported Media TypeDer `Content-Type` des Bodys gehört nicht zu denen, die der Server verarbeitet.nein
416Range Not SatisfiableDer angeforderte Bereich liegt außerhalb der Ressource.nein
417Expectation FailedDer `Expect`-Header lässt sich nicht erfüllen.nein
418I'm a teapotEin Aprilscherz von 1998, der nie wieder verschwand.nein
421Misdirected RequestDieser Server kann für diese Autorität keine Antwort erzeugen.nein
422Unprocessable ContentWohlgeformt, aber semantisch falsch.nein
423LockedWebDAV: Die Ressource ist gesperrt.nein
424Failed DependencyWebDAV: Eine vorhergehende Anfrage der Folge ist fehlgeschlagen.nein
425Too EarlyDer Server riskiert es nicht, eine Early-Data-Anfrage zu wiederholen.nein
426Upgrade RequiredDer Client muss das Protokoll wechseln.nein
428Precondition RequiredDer Server verlangt, dass die Anfrage bedingt gestellt wird.nein
429Too Many RequestsRatenbegrenzung erreicht.nein
431Request Header Fields Too LargeDie Header sind zu groß.nein
451Unavailable For Legal ReasonsAufgrund einer rechtlichen Forderung gesperrt.ja
500Internal Server ErrorEtwas ist schiefgegangen, und der Server hat nichts Genaueres zu sagen.nein
501Not ImplementedDer Server unterstützt die Methode überhaupt nicht.ja
502Bad GatewayEin vorgelagerter Server hat etwas Ungültiges geschickt.nein
503Service UnavailableVorübergehend nicht in der Lage, die Anfrage zu bearbeiten.nein
504Gateway TimeoutEin vorgelagerter Server hat nicht rechtzeitig geantwortet.nein
505HTTP Version Not SupportedDie HTTP-Version der Anfrage wird nicht unterstützt.nein
506Variant Also NegotiatesEine Fehlkonfiguration der Inhaltsaushandlung.nein
507Insufficient StorageWebDAV: Nicht genug Platz, um die Darstellung zu speichern.nein
508Loop DetectedWebDAV: eine Endlosschleife beim Verarbeiten.nein
510Not ExtendedWeitere Erweiterungen sind erforderlich.nein
511Network Authentication RequiredEin Captive Portal möchte, dass Sie sich anmelden.nein

Die, die verwechselt werden

401 heißt „Ich weiß nicht, wer Sie sind“ — schicken Sie Anmeldedaten und versuchen Sie es erneut. 403 heißt „Ich weiß, wer Sie sind, und die Antwort ist nein“. Waren die Anmeldedaten gültig, aber nicht ausreichend, ist es 403.
400 gilt einer Anfrage, die der Server nicht lesen kann. 422 gilt einer, die er einwandfrei gelesen hat und der er widerspricht. Ein 422 lässt sich mit anderen Daten wiederholen; ein 400 heißt meist, dass der Client selbst kaputt ist.
Die erste Achse ist die Dauerhaftigkeit (301/308 dauerhaft, 302/307 vorübergehend), die zweite die Erhaltung der Methode (307/308 behalten sie, 301/302 historisch nicht). Im Zweifel bei einer API 307 oder 308 nehmen.
Beide kommen von einem Proxy und nicht von Ihrer Anwendung. 502 heißt „der vorgelagerte Dienst hat Unsinn geantwortet oder ist gestorben“, 504 heißt „der vorgelagerte Dienst hat nie geantwortet“. Das Zweite ist eine Zeitgrenze, die Sie einstellen können; das Erste ein Ausfall, den Sie beheben müssen.
Beide heißen, dass dort nichts ist. 410 heißt zusätzlich, dass es nie zurückkommt, und Suchmaschinen handeln danach innerhalb von Tagen statt von Monaten.
405 heißt „auf dieser URL nicht, aber hier ist, was geht“ — und muss einen `Allow`-Header senden. 501 heißt „dieser Server implementiert diese Methode nirgends“.
„Cachefähig“ heißt hier heuristisch cachefähig: RFC 9110 §15.1 zählt die Codes auf, die ein Cache speichern darf, wenn nichts anderes gesagt wird. 404 steht auf dieser Liste — so kommt es, dass ein CDN weiter ein „nicht gefunden“ für eine Seite ausliefert, die Sie inzwischen veröffentlicht haben.

So funktioniert es

  1. Suchen Sie, oder filtern Sie nach Klasse

    Tippen Sie eine Zahl, einen Namen oder das Problem, das Sie haben – „gateway“, „rate limit“, „unauthorized“. Der Suchindex enthält kein Deutsch, „Authentifizierung“ findet also nichts, „authentication“ schon. Oder grenzen Sie auf 4xx ein und lesen Sie nach unten.

  2. Öffnen Sie einen für die Details

    Das Detail-Panel nennt die definierende Spezifikation, ob er heuristisch cachebar ist und jeden Header, den die Antwort tragen muss – ein 405 ohne `Allow` und ein 301 ohne `Location` sind beide unvollständig.

  3. Lesen Sie die verwechselbaren Paare

    Der Abschnitt unten behandelt die, die falsch gewählt werden: 401 gegen 403, 302 gegen 307, 502 gegen 504.

Häufige Fragen

Was ist der Unterschied zwischen 401 und 403?

401 bedeutet, die Anfrage hatte keine gültigen Zugangsdaten und muss einen `WWW-Authenticate`-Header enthalten, der sagt, wie sie zu liefern sind. 403 bedeutet, die Zugangsdaten wurden verstanden und reichen nicht. Einem angemeldeten Benutzer ohne Berechtigung 401 zu senden ist der häufige Fehler.

Warum cacht mein CDN einen 404?

Weil es das darf. RFC 9110 §15.1 listet die Statuscodes, die ein Cache heuristisch speichern kann, wenn nichts anderes etwas anderes sagt, und 404 steht darauf. Eine Seite, die Sie inzwischen veröffentlicht haben, bleibt „nicht gefunden“, bis der Cache abläuft oder Sie ihn leeren – senden Sie `Cache-Control: no-store` auf einem 404, von dem Sie erwarten, dass er ein 200 wird.

302 oder 307?

307, wenn die Methode erhalten bleiben soll. Historisch haben Clients bei einem 302 aus einem POST ein GET gemacht – die Spezifikation hat das nicht gesagt, aber alle haben es getan –, deshalb gibt es 307 und 308, um unmissverständlich „gleiche Methode, neue URL“ zu sagen.

Kann ich meinen eigenen Statuscode erfinden?

Senden können Sie alles, und Clients behandeln einen unbekannten Code als das generische Mitglied seiner Klasse – ein 499 wird wie ein 400 behandelt. Aber Caches, Proxys und Bibliotheken treffen Entscheidungen anhand der Klasse, sodass ein nicht registrierter Code Ihnen nichts bringt, was ein Header nicht besser transportieren könnte.

Eingabe aus

Danach

Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.