HTTP-Antwortstatuscodes
HTTP-Antwortstatuscodes geben an, ob eine bestimmte HTTP-Anfrage erfolgreich abgeschlossen wurde. Antworten werden in fünf Klassen gruppiert:
- Informatorische Antworten (
100–199) - Erfolgreiche Antworten (
200–299) - Umleitungsnachrichten (
300–399) - Client-Fehlerantworten (
400–499) - Server-Fehlerantworten (
500–599)
Die unten aufgeführten Statuscodes sind durch RFC 9110 definiert.
Hinweis: Wenn Sie eine Antwort erhalten, die hier nicht aufgeführt ist, handelt es sich um eine nicht standardmäßige Antwort, möglicherweise individuell für die Serversoftware.
Informatorische Antworten
100 Continue-
Diese vorläufige Antwort bedeutet, dass der Client die Anfrage fortsetzen oder die Antwort ignorieren sollte, wenn die Anfrage bereits abgeschlossen ist.
101 Switching Protocols-
Dieser Code wird als Antwort auf einen
Upgrade-Header in der Anfrage des Clients gesendet und zeigt das Protokoll an, zu dem der Server wechselt. 102 Processing-
Dieser Code wurde in Web Distributed Authoring (WebDAV-Kontexten verwendet, um anzuzeigen, dass eine Anfrage vom Server empfangen wurde, aber zum Zeitpunkt der Antwort kein Status verfügbar war. Der Statuscode wurde zuerst in RFC 2518 eingeführt, aber aus WebDAV in RFC 4918 entfernt. Der Antwortcode wurde veraltet und wird nicht mehr verwendet.
103 Early Hints-
Dieser Statuscode ist hauptsächlich zur Verwendung mit dem
Link-Header vorgesehen, um dem Benutzeragenten zu ermöglichen, Ressourcen vorzuladen, während der Server eine Antwort vorbereitet oder eine Verbindung zu einer Quelle herstellt, von der die Seite Ressourcen benötigt.
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: Darstellungsheader sind in der Antwort enthalten, jedoch kein Nachrichtenkörper.PUToderPOST: Die Ressource, die das Ergebnis der Aktion beschreibt, wird im Nachrichtenkörper übertragen.TRACE: Der Nachrichtenkörper enthält die Anfrage, wie sie vom Server empfangen wurde.
201 Created-
Die Anfrage war erfolgreich, und eine neue Ressource wurde als Ergebnis erstellt. Dies ist typischerweise die Antwort, die nach
POST-Anfragen oder einigenPUT-Anfragen gesendet wird. 202 Accepted-
Die Anfrage wurde empfangen, aber noch nicht bearbeitet. Es ist unverbindlich, da es im HTTP keine Möglichkeit gibt, später eine asynchrone Antwort zu senden, die das Ergebnis der Anfrage anzeigt. Es ist für Fälle vorgesehen, in denen ein anderer Prozess oder Server die Anfrage bearbeitet oder für die Stapelverarbeitung.
-
Dieser Antwortcode bedeutet, dass die zurückgegebenen Metadaten nicht genau die gleichen sind wie die, die vom Ursprungsserver erhältlich sind, sondern von einer lokalen oder einer Drittanbieter-Kopie stammen. Dies wird meist für Spiegel- oder Sicherungskopien einer anderen Ressource verwendet. Abgesehen von diesem speziellen Fall wird die
200 OK-Antwort diesem Status vorgezogen. 204 No Content-
Es gibt keinen Inhalt, der für diese Anfrage gesendet werden soll, aber die Header sind nützlich. Der Benutzeragent kann seine zwischengespeicherten Header für diese Ressource mit den neuen aktualisieren.
205 Reset Content-
Fordert den Benutzeragenten auf, das Dokument zurückzusetzen, welches diese Anfrage gesendet hat.
206 Partial Content-
Dieser Antwortcode wird als Antwort auf eine Teilanfrage verwendet, wenn der Client einen Teil oder Teile einer Ressource angefordert hat.
207 Multi-Status(WebDAV)-
Liefert Informationen zu mehreren Ressourcen, für Situationen, in denen mehrere Statuscodes geeignet sein könnten.
208 Already Reported(WebDAV)-
Wird innerhalb eines
<dav:propstat>-Antwort-Elements verwendet, um zu vermeiden, die internen Mitglieder mehrerer Bindungen an dieselbe Sammlung wiederholt aufzulisten. 226 IM Used(HTTP Delta encoding)-
Der Server hat eine
GET-Anfrage für die Ressource erfüllt und die Antwort ist eine Darstellung des Ergebnisses einer oder mehrerer Instanzmanipulationen, die auf die aktuelle Instanz angewendet wurden.
Umleitungsnachrichten
300 Multiple Choices-
Bei der agentengetriebenen Inhaltsverhandlung hat die Anfrage mehr als eine mögliche Antwort und der Benutzeragent oder Benutzer sollte eine davon wählen. Es gibt keinen standardisierten Weg 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. Möglicherweise werden in Zukunft weitere Änderungen der URI vorgenommen, daher sollte die gleiche URI vom Client in zukünftigen Anfragen verwendet werden.
303 See Other-
Der Server hat diese Antwort gesendet, um den Client aufzufordern, die angeforderte Ressource an einer anderen URI mit einer
GET-Anfrage 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 die gleiche zwischengespeicherte Version der Antwort weiterhin verwenden kann.
305 Use Proxy-
In einer früheren Version der HTTP-Spezifikation definiert, um anzuzeigen, dass eine angeforderte Antwort über einen Proxy zugegriffen werden muss. Aufgrund von Sicherheitsbedenken hinsichtlich der In-Band-Konfiguration eines Proxys wurde es veraltet.
306 unused-
Dieser Antwortcode wird nicht mehr verwendet; er 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 aufzufordern, die angeforderte Ressource an einer anderen URI mit der gleichen Methode abzurufen, die in der vorherigen Anfrage verwendet wurde. Dies hat die gleichen Semantiken wie der
302 Found-Antwortcode, mit der Ausnahme, dass der Benutzeragent die HTTP-Methode nicht ändern darf: Wenn in der ersten Anfrage einPOSTverwendet wurde, muss in der weitergeleiteten Anfrage einPOSTverwendet werden. 308 Permanent Redirect-
Dies bedeutet, dass die Ressource jetzt dauerhaft an einer anderen URI verfügbar ist, die im
Location-Antwort-Header angegeben ist. Dies hat die gleichen Semantiken wie der301 Moved PermanentlyHTTP-Antwortcode, mit der Ausnahme, dass der Benutzeragent die HTTP-Methode nicht ändern darf: Wenn in der ersten Anfrage einPOSTverwendet wurde, muss in der zweiten Anfrage einPOSTverwendet werden.
Client-Fehlerantworten
400 Bad Request-
Der Server kann oder will die Anfrage aufgrund etwas, das als Clientfehler wahrgenommen wird, nicht verarbeiten (z.B. fehlerhafte Anfragesyntax, ungültige Anfragenachrichtenstruktur oder irreführende Anfragelenkung).
-
Obwohl der HTTP-Standard "unauthorized" (unbefugt) angibt, bedeutet diese Antwort semantisch "unauthenticated" (nicht authentifiziert). Das heißt, der Client muss sich authentifizieren, um die angeforderte Antwort zu erhalten.
402 Payment Required-
Der ursprüngliche Zweck dieses Codes war für digitale Zahlungssysteme gedacht, aber dieser Statuscode wird selten verwendet und es gibt keine Standardvorgabe.
403 Forbidden-
Der Client hat keine Zugriffsrechte auf den Inhalt; das heißt, er ist unbefugt, daher weigert sich der Server, die angeforderte Ressource bereitzustellen. Im Gegensatz zu
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 die Schnittstelle gültig ist, aber die Ressource selbst nicht existiert. Server können auch diese Antwort senden, anstatt
403 Forbidden, um die Existenz einer Ressource vor einem unberechtigten Client zu verbergen. Dieser Antwortcode ist wahrscheinlich der bekannteste aufgrund seiner häufigen Verwendung im Web. 405 Method Not Allowed-
Die Anfragemethode ist dem Server bekannt, wird jedoch von der Zielressource nicht unterstützt. Beispielsweise kann eine API das
DELETEauf einer Ressource oder dieTRACE-Methode insgesamt nicht zulassen. 406 Not Acceptable-
Diese Antwort wird gesendet, wenn der Webserver, nach Durchführung einer serverseitigen Inhaltsverhandlung, keinen Inhalt findet, der den vom Benutzeragenten angegebenen Kriterien entspricht.
407 Proxy Authentication Required-
Dies ist ähnlich zu
401 Unauthorized, aber die Authentifizierung muss von einem Proxy durchgeführt werden. 408 Request Timeout-
Diese Antwort wird von einigen Servern auf einer inaktiven Verbindung gesendet, selbst ohne vorherige Anfrage des Clients. Es bedeutet, dass der Server diese ungenutzte Verbindung schließen möchte. Diese Antwort wird vermehrt verwendet, da einige Browser HTTP-Vorverbindungsmechanismen nutzen, um das Surfen zu beschleunigen. Einige Server können eine Verbindung ohne diese Nachricht schließen.
409 Conflict-
Diese Antwort wird gesendet, wenn eine Anfrage im Widerspruch zum aktuellen Zustand des Servers steht. Bei WebDAV Remote Web Authoring werden
409-Antworten als Fehler an den Client gesendet, sodass ein Nutzer einen Konflikt möglicherweise lösen und die Anfrage erneut senden kann. 410 Gone-
Diese Antwort wird gesendet, wenn der angeforderte Inhalt dauerhaft vom Server gelöscht wurde, ohne Weiterleitungsadresse. Clients sollten ihre Caches und Links zur Ressource entfernen. Die HTTP-Spezifikation beabsichtigt, dass dieser Statuscode für "zeitlich begrenzte Werbedienstleistungen" verwendet wird. APIs sollten sich nicht gezwungen fühlen, mit diesem Statuscode anzuzeigen, dass Ressourcen gelöscht wurden.
411 Length Required-
Der Server lehnte die Anfrage ab, weil das
Content-Length-Headerfeld nicht definiert ist und der Server es benötigt. 412 Precondition Failed-
Bei bedingten Anfragen hat der Client Vorbedingungen in seinen Headern angegeben, die der Server nicht erfüllt.
413 Content Too Large-
Der Anfragetext ist größer als die vom Server festgelegten Grenzen. Der Server kann die Verbindung schließen oder ein
Retry-After-Headerfeld zurücksenden. 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-Headerfeld in der Anfrage angegebenen Bereiche können nicht erfüllt werden. Möglicherweise liegt der Bereich außerhalb der Größe der Daten der Zielressource. 417 Expectation Failed-
Dieser Antwortcode bedeutet, dass die im
Expect-Anforderungsheaderfeld angegebene Erwartung nicht vom Server erfüllt werden kann. 418 I'm a teapot-
Der Server lehnt den Versuch, Kaffee mit einer Teekanne zu brühen, ab.
421 Misdirected Request-
Die Anfrage wurde an einen Server gerichtet, der nicht in der Lage ist, eine Antwort zu erzeugen. Dies kann von einem Server gesendet werden, der nicht dafür konfiguriert ist, Antworten für die Kombination aus Schema und Autorität zu erzeugen, die in der angeforderten URI enthalten sind.
422 Unprocessable Content(WebDAV)-
Die Anfrage war wohlgeformt, konnte aber aufgrund von semantischen Fehlern nicht befolgt werden.
423 Locked(WebDAV)-
Die Ressource, auf die zugegriffen wird, ist gesperrt.
424 Failed Dependency(WebDAV)-
Die Anfrage schlug aufgrund des Scheiterns einer vorherigen Anfrage fehl.
425 Too Early-
Zeigt an, dass der Server nicht bereit ist, eine Anfrage zu bearbeiten, die möglicherweise wiederholt wird.
426 Upgrade Required-
Der Server weigert sich, die Anfrage mit dem aktuellen Protokoll auszuführen, ist jedoch bereit, dies zu tun, nachdem der Client zu einem anderen Protokoll gewechselt hat. Der Server sendet einen
Upgrade-Header in einer 426-Antwort, um die erforderlichen Protokolle anzugeben. 428 Precondition Required-
Der Ursprungsserver verlangt, dass die Anfrage bedingt ist. Diese Antwort soll das Problem "verlorener Aktualisierungen" verhindern, bei dem ein Client den Zustand einer Ressource mit
GETliest, diesen modifiziert und mitPUTzurück auf den Server schreibt, während ein Dritter den Zustand auf dem Server verändert hat, was zu einem Konflikt führt. 429 Too Many Requests-
Der Benutzer hat zu viele Anfragen in einer bestimmten Zeitmenge gesendet (Ratenbegrenzung).
431 Request Header Fields Too Large-
Der Server ist nicht bereit, die Anfrage zu verarbeiten, weil ihre Headerfelder zu groß sind. Die Anfrage kann nach einer Reduzierung der Größe der Headerfelder erneut eingereicht werden.
-
Der Benutzeragent hat eine Ressource angefordert, die aus rechtlichen Gründen nicht bereitgestellt werden kann, wie z.B. eine von einer Regierung zensierte Webseite.
Server-Fehlerantworten
500 Internal Server Error-
Der Server ist auf eine Situation gestoßen, die er nicht verarbeiten kann. Dieser Fehler ist generisch und zeigt an, dass der Server keinen besser geeigneten
5XX-Statuscode finden kann, um darauf zu antworten. 501 Not Implemented-
Die Anfragemethode wird vom Server nicht unterstützt und kann nicht bearbeitet werden. Die einzigen Methoden, die Server unterstützen müssen (und daher diesen Code nicht zurückgeben dürfen), sind
GETundHEAD. 502 Bad Gateway-
Diese Fehlermeldung bedeutet, dass der Server, während er als Gateway fungierte, um eine benötigte Antwort zu erhalten, eine ungültige Antwort erhalten hat.
-
Der Server ist nicht bereit, die Anfrage zu bearbeiten. Häufige Ursachen sind ein Server, der für Wartungsarbeiten ausgefallen ist 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 Bedingungen verwendet werden und der
Retry-AfterHTTP-Header sollte, falls möglich, die geschätzte Zeit zur Wiederherstellung des Dienstes enthalten. Der Webmaster muss auch auf die Cache-bezogenen Header achten, die zusammen mit dieser Antwort gesendet werden, da diese vorübergehenden Bedingungsantworten normalerweise nicht zwischengespeichert werden sollten. 504 Gateway Timeout-
Diese Fehlermeldung wird geliefert, wenn der Server als Gateway fungiert und keine rechtzeitige Antwort erhält.
505 HTTP Version Not Supported-
Die HTTP-Version, die in der Anfrage verwendet wurde, wird vom Server nicht unterstützt.
506 Variant Also Negotiates-
Der Server hat einen internen Konfigurationsfehler: während der Inhaltsverhandlung ist die gewählte Variante so konfiguriert, dass sie selbst an der Inhaltsverhandlung teilnimmt, was zu Kreisverweisen bei der Erzeugung von Antworten führt.
507 Insufficient Storage(WebDAV)-
Die Methode konnte nicht an der Ressource durchgeführt werden, da der Server nicht in der Lage ist, die Darstellung zu speichern, die benötigt wird, um die Anfrage erfolgreich abzuschließen.
508 Loop Detected(WebDAV)-
Der Server hat eine Endlosschleife bei der Verarbeitung der Anfrage erkannt.
510 Not Extended-
Der 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-
Zeigt an, dass der Client authentifizieren muss, um Zugang zum Netzwerk zu erhalten.