HTTPQUERY
Español

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