El servidor está redirigiendo al agente de usuario a un recurso diferente, como lo indica una URI en el campo de encabezado Location, que está destinada a proporcionar una respuesta indirecta a la solicitud original.
Un agente de usuario puede realizar una solicitud de recuperación dirigida a esa URI (una solicitud GET o HEAD si usa HTTP), que también podría ser redirigida, y presentar el resultado eventual como una respuesta a la solicitud original. Tenga en cuenta que la nueva URI en el campo de encabezado Location no se considera equivalente a la URI de solicitud efectiva.
Este código de estado es aplicable a cualquier método HTTP. Se usa principalmente para permitir que la salida de una acción POST redirija al agente de usuario a un recurso seleccionado, ya que hacerlo proporciona la información correspondiente a la respuesta POST en una forma que puede ser identificada, marcada y cacheada por separado, independientemente de la solicitud original.
Una respuesta 303 a una solicitud GET indica que el servidor de origen no tiene una representación del recurso objetivo que pueda ser transferida por el servidor sobre HTTP. Sin embargo, el valor del campo Location se refiere a un recurso que es descriptivo del recurso objetivo, de tal manera que hacer una solicitud de recuperación en ese otro recurso podría resultar en una representación que es útil para los destinatarios sin implicar que representa el recurso objetivo original. Tenga en cuenta que las respuestas a las preguntas de qué puede ser representado, qué representaciones son adecuadas, y qué podría ser una descripción útil están fuera del alcance de HTTP.
Excepto para respuestas a una solicitud HEAD, la representación de una respuesta 303 debería contener una nota hipertexto corta con un hipervínculo a la misma referencia URI proporcionada en el campo de encabezado Location.
- Source: RFC7321 Section 6.4.4
Referencias por lenguaje
- .NET HTTP Status Enum
HttpStatusCode.SeeOther - Rust HTTP Status Constant
http::StatusCode::SEE_OTHER - Rails HTTP Status Symbol
:see_other - Go HTTP Status Constant
http.StatusSeeOther - Symfony HTTP Status Constant
Response::HTTP_SEE_OTHER - Python2 HTTP Status Constant
httplib.SEE_OTHER - Python3+ HTTP Status Constant
http.client.SEE_OTHER - Python3.5+ HTTP Status Constant
http.HTTPStatus.SEE_OTHER