HTTPQUERY
Deutsch

303 See Other

Verwendung

Der Statuscode 303 See Other wird typischerweise nach einer POST-, PUT- oder DELETE-Anfrage zurückgegeben. Das Ergebnis der Operation lässt sich unter einer anderen URL einsehen, und der Client ruft die neue Ressource mit einer GET-Anfrage an die angegebene Location ab.

Hinweis

Viele Server senden historisch bedingt 302, wenn sie 303 meinen, und viele Clients behandeln 302 wie 303, indem sie die Anfragemethode auf GET ändern.

SEO-Auswirkung

Google stuft 303 neben 302 und 307 als temporäre Weiterleitung ein. Der Googlebot folgt der Weiterleitung, behandelt 303 jedoch als schwaches Signal dafür, dass das Ziel die bevorzugte URL ist.

Beispiel

Der Client fordert die Löschung einer bestimmten Ressource an. Der Server sendet 303 See Other, weil der ursprüngliche Ort keine anzeigbare Ressource mehr enthält, und verweist auf eine Bestätigungsseite unter der neuen Location.

Anfrage

DELETE /tasks/314 HTTP/1.1
Host: example.com

Antwort

HTTP/1.1 303 See Other
Location: http://example.com/confirmation/delete.html

303 im Vergleich zu 307

Sowohl 303 als auch 307 sind temporäre Weiterleitungen, doch die Behandlung der Methode unterscheidet sich. Eine 303-Antwort ändert die Anfragemethode unabhängig von der ursprünglichen Methode zu GET (oder HEAD). Eine 307-Antwort bewahrt die ursprüngliche Methode und den Body. Verwenden Sie 303 nach einem POST, wenn der Client eine Ergebnisseite abrufen soll. Verwenden Sie 307, wenn genau dieselbe Anfrage am neuen Ort wiederholt werden muss.

Code-Referenzen

.NET

HttpStatusCode.SeeOther

Rust

http::StatusCode::SEE_OTHER

Rails

:see_other

Go

http.StatusSeeOther

Symfony

Response::HTTP_SEE_OTHER

Python3.5+

http.HTTPStatus.SEE_OTHER

Java

java.net.HttpURLConnection.HTTP_SEE_OTHER

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_SEE_OTHER

Angular

@angular/common/http/HttpStatusCode.SeeOther