HTTPQUERY
Français

303 See Other

Utilisation

Le code de statut 303 See Other est généralement renvoyé à la suite d’une requête POST, PUT ou DELETE. Le résultat de l’opération est consultable à une autre URL, et le client récupère la nouvelle ressource au moyen d’une requête GET vers le Location indiqué.

Remarque

Historiquement, de nombreux serveurs envoient 302 alors qu’ils veulent dire 303, et de nombreux clients traitent 302 comme un 303 en changeant la méthode de la requête en GET.

Impact SEO

Google classe 303 parmi les redirections temporaires, au même titre que 302 et 307. Googlebot suit la redirection mais considère 303 comme un signal faible indiquant que la cible est l’URL privilégiée.

Exemple

Le client demande la suppression d’une ressource précise. Le serveur envoie 303 See Other parce que l’emplacement d’origine n’héberge plus de ressource consultable, et il pointe vers une page de confirmation située au nouveau Location.

Requête

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

Réponse

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

303 face à 307

303 et 307 sont tous deux des redirections temporaires, mais le traitement de la méthode diffère. Une réponse 303 change la méthode de la requête en GET (ou HEAD), quelle que soit la méthode d’origine. Une réponse 307 conserve la méthode et le corps d’origine. Utilisez 303 après un POST lorsque le client doit récupérer une page de résultat. Utilisez 307 lorsque la requête exacte doit être répétée au nouvel emplacement.

Références de code

.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