303 See Other
Uso
El código de estado 303 See Other se devuelve normalmente después de una solicitud POST, PUT o DELETE. El resultado de la operación puede consultarse en una URL distinta, y el cliente obtiene el nuevo recurso con una solicitud GET a la Location indicada.
Nota
Históricamente, muchos servidores envían 302 cuando en realidad quieren decir 303, y muchos clientes tratan el 302 como un 303 cambiando el método de la solicitud a GET.
Impacto en SEO
Google clasifica el 303 como una redirección temporal, junto con 302 y 307. Googlebot sigue la redirección, pero considera el 303 una señal débil de que el destino es la URL preferida.
Ejemplo
El cliente solicita la eliminación de un recurso concreto. El servidor envía 303 See Other porque la ubicación original ya no alberga un recurso consultable y apunta a una página de confirmación en la nueva Location.
Solicitud
DELETE /tasks/314 HTTP/1.1
Host: example.com
Respuesta
HTTP/1.1 303 See Other
Location: http://example.com/confirmation/delete.html
303 frente a 307
Tanto 303 como 307 son redirecciones temporales, pero el tratamiento del método difiere. Una respuesta 303 cambia el método de la solicitud a GET (o HEAD), sea cual sea el método original. Una respuesta 307 conserva el método y el cuerpo originales. Utilice 303 después de un POST cuando el cliente necesita recuperar una página de resultados. Utilice 307 cuando la solicitud exacta debe repetirse en la nueva ubicación.
Referencias de código
.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