HTTP-Antwortstatuscodes
HTTP-Antwortstatuscodes geben an, ob eine bestimmte HTTP-Anfrage erfolgreich abgeschlossen wurde. Antworten werden in fünf Klassen eingeteilt:
- Informative Antworten (
100–199) - Erfolgreiche Antworten (
200–299) - Umleitungsmeldungen (
300–399) - Client-Fehlerantworten (
400–499) - Server-Fehlerantworten (
500–599)
Die unten aufgeführten Statuscodes werden durch RFC 9110 definiert.
Hinweis: Wenn Sie eine hier nicht aufgeführte Antwort erhalten, handelt es sich um eine nicht standardisierte Antwort, die möglicherweise für die Software des Servers angepasst wurde.
Informative Antworten
100 Continue-
Diese Zwischenantwort gibt an, dass der Client die Anfrage fortsetzen oder die Antwort ignorieren soll, wenn die Anfrage bereits abgeschlossen ist.
101 Switching Protocols-
Dieser Code wird als Antwort auf einen
Upgrade-Anfrage-Header vom Client gesendet und gibt das Protokoll an, zu dem der Server wechselt. 102 Processing-
Dieser Code wurde in Kontexten von Web Distributed Authoring (WebDAV) verwendet, um anzugeben, dass eine Anfrage vom Server empfangen wurde, zum Zeitpunkt der Antwort jedoch kein Status verfügbar war. Der Statuscode wurde erstmals in RFC 2518 eingeführt, jedoch in RFC 4918 aus WebDAV entfernt. Der Antwortcode wurde als veraltet eingestuft und wird nicht mehr verwendet.
103 Early Hints-
Dieser Statuscode ist hauptsächlich für die Verwendung mit dem
Link-Header vorgesehen und ermöglicht dem User-Agent, Ressourcen vorab zu laden, während der Server eine Antwort vorbereitet, oder eine Vorverbindung zu einem Ursprung herzustellen, von dem die Seite Ressourcen benötigt (preconnect).
Erfolgreiche Antworten
200 OK-
Die Anfrage war erfolgreich. Das Ergebnis und die Bedeutung von „Erfolg“ hängen von der HTTP-Methode ab:
GET: Die Ressource wurde abgerufen und im Nachrichtenkörper übertragen.HEAD: Repräsentations-Header sind ohne Nachrichtenkörper in der Antwort enthalten.PUToderPOST: Die Ressource, die das Ergebnis der Aktion beschreibt, wird im Nachrichtenkörper übertragen.TRACE: Der Nachrichtenkörper enthält die vom Server empfangene Anfrage.
201 Created-
Die Anfrage war erfolgreich und hat eine neue Ressource erstellt. Dies ist typischerweise die Antwort nach
POST-Anfragen oder einigenPUT-Anfragen. 202 Accepted-
Die Anfrage wurde empfangen, aber noch nicht verarbeitet. Sie ist unverbindlich, da es in HTTP keine Möglichkeit gibt, später eine asynchrone Antwort zu senden, die das Ergebnis der Anfrage angibt. Sie ist für Fälle vorgesehen, in denen ein anderer Prozess oder Server die Anfrage verarbeitet, oder für die Stapelverarbeitung.
-
Dieser Antwortcode bedeutet, dass die zurückgegebenen Metadaten nicht exakt mit den vom Ursprungsserver verfügbaren übereinstimmen, sondern aus einer lokalen Kopie oder einer Kopie eines Drittanbieters stammen. Dies wird überwiegend für Spiegelungen oder Sicherungskopien einer anderen Ressource verwendet. Außer in diesem speziellen Fall ist die Antwort
200 OKdiesem Status vorzuziehen. 204 No Content-
Für diese Anfrage gibt es keinen zu sendenden Inhalt, aber die Header sind nützlich. Der User-Agent kann seine zwischengespeicherten Header für diese Ressource mit den neuen aktualisieren.
205 Reset Content-
Weist den User-Agent an, das Dokument zurückzusetzen, das diese Anfrage gesendet hat.
206 Partial Content-
Dieser Antwortcode wird als Antwort auf eine Bereichsanfrage verwendet, wenn der Client einen Teil oder mehrere Teile einer Ressource angefordert hat.
207 Multi-Status(WebDAV)-
Übermittelt Informationen über mehrere Ressourcen, für Situationen, in denen mehrere Statuscodes angemessen sein können.
208 Already Reported(WebDAV)-
Wird innerhalb eines
<dav:propstat>-Antwortelements verwendet, um zu vermeiden, dass die internen Mitglieder mehrerer Bindungen an dieselbe Sammlung wiederholt aufgezählt werden. 226 IM Used(HTTP-Delta-Kodierung)-
Der Server hat eine
GET-Anfrage für die Ressource erfüllt, und die Antwort ist eine Repräsentation des Ergebnisses einer oder mehrerer Instanzmanipulationen, die auf die aktuelle Instanz angewendet wurden.
Umleitungsmeldungen
300 Multiple Choices-
Bei der agentengesteuerten Inhaltsaushandlung hat die Anfrage mehr als eine mögliche Antwort, und der User-Agent oder Benutzer sollte eine davon auswählen. Es gibt keine standardisierte Möglichkeit für Clients, automatisch eine der Antworten auszuwählen, daher wird dies selten verwendet.
301 Moved Permanently-
Die URL der angeforderten Ressource wurde dauerhaft geändert. Die neue URL wird in der Antwort angegeben.
302 Found-
Dieser Antwortcode bedeutet, dass die URI der angeforderten Ressource vorübergehend geändert wurde. Weitere Änderungen der URI können künftig erfolgen, daher sollte der Client bei künftigen Anfragen dieselbe URI verwenden.
303 See Other-
Der Server sendet diese Antwort, um den Client anzuweisen, die angeforderte Ressource über eine
GET-Anfrage unter einer anderen URI abzurufen. 304 Not Modified-
Dies wird für Caching-Zwecke verwendet. Es teilt dem Client mit, dass die Antwort nicht geändert wurde, sodass der Client weiterhin dieselbe zwischengespeicherte Version der Antwort verwenden kann.
305 Use Proxy-
In einer früheren Version der HTTP-Spezifikation definiert, um anzugeben, dass auf eine angeforderte Antwort über einen Proxy zugegriffen werden muss. Aufgrund von Sicherheitsbedenken hinsichtlich der In-Band-Konfiguration eines Proxys wurde es als veraltet eingestuft.
306 unused-
Dieser Antwortcode wird nicht mehr verwendet, ist jedoch reserviert. Er wurde in einer früheren Version der HTTP/1.1-Spezifikation verwendet.
307 Temporary Redirect-
Der Server sendet diese Antwort, um den Client anzuweisen, die angeforderte Ressource unter einer anderen URI mit derselben Methode abzurufen, die in der vorherigen Anfrage verwendet wurde. Dies hat dieselbe Semantik wie der Antwortcode
302 Found, mit der Ausnahme, dass der User-Agent die verwendete HTTP-Methode nicht ändern darf: Wurde in der ersten Anfrage einPOSTverwendet, muss in der umgeleiteten Anfrage einPOSTverwendet werden. 308 Permanent Redirect-
Dies bedeutet, dass sich die Ressource nun dauerhaft unter einer anderen URI befindet, die durch den
Location-Antwort-Header angegeben wird. Dies hat dieselbe Semantik wie der HTTP-Antwortcode301 Moved Permanently, mit der Ausnahme, dass der User-Agent die verwendete HTTP-Methode nicht ändern darf: Wurde in der ersten Anfrage einPOSTverwendet, muss in der zweiten Anfrage einPOSTverwendet werden.
Client-Fehlerantworten
400 Bad Request-
Der Server kann oder will die Anfrage aufgrund eines als Client-Fehler wahrgenommenen Problems nicht verarbeiten (z. B. fehlerhafte Anfragesyntax, ungültige Nachrichtenrahmung der Anfrage oder irreführendes Routing der Anfrage).
-
Obwohl der HTTP-Standard „unauthorized“ angibt, bedeutet diese Antwort semantisch „unauthenticated“. Das heißt, der Client muss sich authentifizieren, um die angeforderte Antwort zu erhalten.
402 Payment Required-
Der ursprüngliche Zweck dieses Codes war die Verwendung für digitale Zahlungssysteme. Dieser Statuscode wird jedoch selten verwendet, und es gibt keine Standardkonvention.
403 Forbidden-
Der Client hat keine Zugriffsrechte auf den Inhalt; das heißt, er ist nicht autorisiert, sodass der Server die Bereitstellung der angeforderten Ressource verweigert. Anders als bei
401 Unauthorizedist die Identität des Clients dem Server bekannt. 404 Not Found-
Der Server kann die angeforderte Ressource nicht finden. Im Browser bedeutet dies, dass die URL nicht erkannt wird. In einer API kann dies auch bedeuten, dass der Endpunkt gültig ist, die Ressource selbst jedoch nicht existiert. Server können diese Antwort auch anstelle von
403 Forbiddensenden, um einem nicht autorisierten Client die Existenz einer Ressource zu verbergen. Dieser Antwortcode ist aufgrund seines häufigen Auftretens im Web wahrscheinlich der bekannteste. 405 Method Not Allowed-
Die Anfragemethode ist dem Server bekannt, wird jedoch von der Zielressource nicht unterstützt. Beispielsweise kann eine API
DELETEfür eine Ressource oder die MethodeTRACEgenerell nicht zulassen. 406 Not Acceptable-
Diese Antwort wird gesendet, wenn der Webserver nach Durchführung einer servergesteuerten Inhaltsaushandlung keinen Inhalt findet, der den vom User-Agent angegebenen Kriterien entspricht.
407 Proxy Authentication Required-
Dies ähnelt
401 Unauthorized, allerdings muss die Authentifizierung durch einen Proxy erfolgen. 408 Request Timeout-
Diese Antwort wird von einigen Servern bei einer inaktiven Verbindung gesendet, auch ohne vorherige Anfrage des Clients. Sie bedeutet, dass der Server diese ungenutzte Verbindung schließen möchte. Diese Antwort wird wesentlich häufiger verwendet, seit einige Browser HTTP-Vorverbindungsmechanismen verwenden, um das Surfen zu beschleunigen. Einige Server können eine Verbindung schließen, ohne diese Nachricht zu senden.
409 Conflict-
Diese Antwort wird gesendet, wenn eine Anfrage mit dem aktuellen Zustand des Servers in Konflikt steht. Beim Remote-Web-Authoring mit WebDAV sind
409-Antworten Fehler, die an den Client gesendet werden, damit ein Benutzer möglicherweise einen Konflikt lösen und die Anfrage erneut senden kann. 410 Gone-
Diese Antwort wird gesendet, wenn der angeforderte Inhalt dauerhaft vom Server gelöscht wurde und keine Weiterleitungsadresse vorhanden ist. Von Clients wird erwartet, dass sie ihre Caches und Links zur Ressource entfernen. Die HTTP-Spezifikation sieht vor, dass dieser Statuscode für „zeitlich begrenzte Werbedienste“ verwendet wird. APIs sollten sich nicht verpflichtet fühlen, gelöschte Ressourcen mit diesem Statuscode anzuzeigen.
411 Length Required-
Der Server hat die Anfrage abgelehnt, weil das
Content-Length-Header-Feld nicht definiert ist und der Server es benötigt. 412 Precondition Failed-
Bei bedingten Anfragen hat der Client in seinen Headern Vorbedingungen angegeben, die der Server nicht erfüllt.
413 Content Too Large-
Der Anfragekörper ist größer als die vom Server festgelegten Grenzen. Der Server kann die Verbindung schließen oder ein
Retry-After-Header-Feld zurückgeben. 414 URI Too Long-
Die vom Client angeforderte URI ist länger, als der Server bereit ist zu interpretieren.
415 Unsupported Media Type-
Das Medienformat der angeforderten Daten wird vom Server nicht unterstützt, daher lehnt der Server die Anfrage ab.
416 Range Not Satisfiable-
Die durch das
Range-Header-Feld in der Anfrage angegebenen Bereiche können nicht erfüllt werden. Es ist möglich, dass der Bereich außerhalb der Datengröße der Zielressource liegt. 417 Expectation Failed-
Dieser Antwortcode bedeutet, dass die durch das
Expect-Anfrage-Header-Feld angegebene Erwartung vom Server nicht erfüllt werden kann. 418 I'm a teapot-
Der Server verweigert den Versuch, mit einer Teekanne Kaffee zu brühen.
421 Misdirected Request-
Die Anfrage wurde an einen Server gerichtet, der keine Antwort erzeugen kann. Dies kann von einem Server gesendet werden, der nicht dafür konfiguriert ist, Antworten für die Kombination aus Schema und Authority zu erzeugen, die in der Anfrage-URI enthalten sind.
422 Unprocessable Content(WebDAV)-
Die Anfrage war wohlgeformt, konnte jedoch aufgrund semantischer Fehler nicht ausgeführt werden.
423 Locked(WebDAV)-
Die Ressource, auf die zugegriffen wird, ist gesperrt.
424 Failed Dependency(WebDAV)-
Die Anfrage ist aufgrund des Fehlschlags einer vorherigen Anfrage fehlgeschlagen.
425 Too Early-
Gibt an, dass der Server nicht bereit ist, die Verarbeitung einer Anfrage zu riskieren, die möglicherweise wiederholt wird.
426 Upgrade Required-
Der Server verweigert die Ausführung der Anfrage mit dem aktuellen Protokoll, könnte jedoch dazu bereit sein, nachdem der Client auf ein anderes Protokoll aktualisiert hat. Der Server sendet in einer 426-Antwort einen
Upgrade-Header, um die erforderlichen Protokolle anzugeben. 428 Precondition Required-
Der Ursprungsserver verlangt, dass die Anfrage bedingt ist. Diese Antwort soll das Problem der „verlorenen Aktualisierung“ verhindern, bei dem ein Client den Zustand einer Ressource per
GETabruft, ihn verändert und perPUTan den Server zurücksendet, während in der Zwischenzeit ein Dritter den Zustand auf dem Server geändert hat, was zu einem Konflikt führt. 429 Too Many Requests-
Der Benutzer hat in einem bestimmten Zeitraum zu viele Anfragen gesendet (Ratenbegrenzung).
431 Request Header Fields Too Large-
Der Server ist nicht bereit, die Anfrage zu verarbeiten, weil ihre Header-Felder zu groß sind. Die Anfrage kann nach Verringerung der Größe der Anfrage-Header-Felder erneut übermittelt werden.
-
Der User-Agent hat eine Ressource angefordert, die rechtlich nicht bereitgestellt werden kann, etwa eine von einer Regierung zensierte Webseite.
Server-Fehlerantworten
500 Internal Server Error-
Der Server ist auf eine Situation gestoßen, mit der er nicht umgehen kann. Dieser Fehler ist allgemein und weist darauf hin, dass der Server keinen passenderen
5XX-Statuscode finden kann, mit dem er antworten könnte. 501 Not Implemented-
Die Anfragemethode wird vom Server nicht unterstützt und kann nicht verarbeitet werden. Die einzigen Methoden, die Server unterstützen müssen (und für die sie diesen Code daher nicht zurückgeben dürfen), sind
GETundHEAD. 502 Bad Gateway-
Diese Fehlerantwort bedeutet, dass der Server beim Arbeiten als Gateway, um eine für die Verarbeitung der Anfrage benötigte Antwort abzurufen, eine ungültige Antwort erhalten hat.
-
Der Server ist nicht bereit, die Anfrage zu verarbeiten. Häufige Ursachen sind ein Server, der wegen Wartungsarbeiten nicht verfügbar oder überlastet ist. Beachten Sie, dass zusammen mit dieser Antwort eine benutzerfreundliche Seite gesendet werden sollte, die das Problem erklärt. Diese Antwort sollte für vorübergehende Zustände verwendet werden, und der
Retry-After-HTTP-Header sollte, wenn möglich, die geschätzte Zeit bis zur Wiederherstellung des Dienstes enthalten. Der Webmaster muss zudem die zusammen mit dieser Antwort gesendeten Caching-bezogenen Header berücksichtigen, da diese Antworten auf vorübergehende Zustände normalerweise nicht zwischengespeichert werden sollten. 504 Gateway Timeout-
Diese Fehlerantwort wird gegeben, wenn der Server als Gateway agiert und nicht rechtzeitig eine Antwort erhalten kann.
505 HTTP Version Not Supported-
Die in der Anfrage verwendete HTTP-Version wird vom Server nicht unterstützt.
506 Variant Also Negotiates-
Der Server hat einen internen Konfigurationsfehler: Während der Inhaltsaushandlung ist die ausgewählte Variante so konfiguriert, dass sie selbst an der Inhaltsaushandlung teilnimmt, was beim Erstellen von Antworten zu zirkulären Verweisen führt.
507 Insufficient Storage(WebDAV)-
Die Methode konnte für die Ressource nicht ausgeführt werden, weil der Server die Repräsentation, die zum erfolgreichen Abschließen der Anfrage erforderlich ist, nicht speichern kann.
508 Loop Detected(WebDAV)-
Der Server hat bei der Verarbeitung der Anfrage eine Endlosschleife erkannt.
510 Not Extended-
Die Client-Anfrage deklariert eine HTTP-Erweiterung (RFC 2774), die zur Verarbeitung der Anfrage verwendet werden sollte, aber die Erweiterung wird nicht unterstützt.
511 Network Authentication Required-
Gibt an, dass der Client sich authentifizieren muss, um Netzwerkzugriff zu erhalten.