Statuscode 303 See Other

Was bedeutet 303 See Other?

Der HTTP-Statuscode 303 See Other ist seit RFC 2616 (HTTP 1.1) eine Möglichkeit, Webanwendungen insbesondere nach einem HTTP-POST auf einen neuen URI umzuleiten. Gemäß RFC 7231 zeigt eine Antwort 303 See Other des Servers auf eine GET-Anfrage an, dass der Ursprungsserver keine Darstellung der Zielressource anbietet, die vom Server via HTTP übertragen werden kann. Der Wert des Felds Location bezieht sich jedoch auf eine Ressource, die für die Zielressource beschreibend ist, sodass das Erstellen einer Abrufanforderung für diese andere Ressource zu einer Repräsentation führen kann, die für den Empfänger eher nützlich ist. Der Statuscode 303 beinhaltet dementsprechend einen Alternativvorschlag, ohne dabei zu implizieren, dass die Alternative die ursprüngliche Zielressource darstellt.

Nicht alle existierenden Ressourcen sind übertragbar

Dieser Statuscode 303 sollte möglichst mit einem Location Header gesendet werden. Wenn ein Server auf eine POST- oder eine andere nicht-idempotente Anfrage mit einer 303 See Other-Antwort und einem Wert für das Location-Headerfeld reagiert, wird vom Client erwartet, dass er die Ressource, die im Location-Header erwähnt wird, unter Verwendung der GET-Methode anfragt. Um eine Anforderung an die Zielressource unter Verwendung der gleichen Methode auszulösen, würde vom Server erwartet, dass er eine Antwort mit dem Status 307 Temporary Redirect sendet. 303 See Other wurde als ein Weg vorgeschlagen, auf eine Anfrage nach einem URI zu antworten, der ein reales Objekt gemäß der Semantic-Web-Theorie identifiziert (das andere ist die Verwendung von Hash-URIs). Wenn beispielsweise http://www.seoagentur.de/id/robert eine Person, nämlich Robert, identifiziert, wäre es für einen Server streng genommen nicht korrekt, auf eine GET-Anfrage mit 200 OK zu antworten, da der Server Robert selbst nicht liefern konnte. Stattdessen würde der Server eine Antwort ausgeben, die zu einer separaten URI umleitet, die eine Beschreibung der Person Robert liefert.

303 See Other in asynchronen Aufrufen

303 See Other kann jedoch für andere Zwecke verwendet werden. Der Statuscode 303 kann hilfreich sein, wenn man beispielsweise eine RESTful-Web-API erstellt, die sofort zum Aufrufer zurückgeben soll, aber die Ausführung des gestarteten Aufrufs asynchron fortsetzen muss (zum Beispiel eine langlebige Bildkonvertierung). In einem solchen Fall kann die Web-API einen Statusprüfungs-URI bereitstellen, der dem ursprünglichen Client, der die Konvertierung anforderte, dazu dient um den Status der laufenden Konvertierung zu überprüfen. Diese Statusüberprüfungs-Web-API sollte dem Aufrufer 303 See Other zurückgeben, sobald die Aufgabe abgeschlossen ist – zusammen mit einem URI im HTTP-Headerfeld Location, von dem das Ergebnis abgerufen werden soll.

Es ist wichtig, Zweck und Anwendungsfälle des 303 See Other Antwortcode von vielen scheinbar ähnlichen 3xx-Codes zu unterscheiden, wie zum Beispiel Code 302 Found. Der Status 302 Found informiert den Client insbesondere darüber, dass der übergebene Location URI nur eine temporäre Ressource ist und dass alle zukünftigen Anforderungen dessen ungeachtet weiterhin auf den ursprünglich angeforderten URI zugreifen sollen. Auf der anderen Seite ist die Nachricht 303 See Other nicht temporär und gibt an, dass ab sofort der übergebene Standort-URI für zukünftige (identische) Anforderungen verwendet werden soll.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenlose SEO Analyse


Weitere Inhalte