HTTP 303, ou 303 See Other, é o código de estado de resposta HTTP que realiza o redirecionamento de aplicações web para um novo URI, especialmente após um HTTP POST ter sido realizado, o qual consta a partir do RFC 2616 (HTTP 1.1).
De acordo com a RFC 7231, que torna a RFC 2616 obsoleta, "Uma resposta 303 a um pedido GET indica que o servidor de origem não tem uma representação do recurso objetivado que pode ser transferido pelo servidor sobre o HTTP. No entanto, o valor do campo Location (localização) refere-se a um recurso que é descritivo do recurso objetivado, de modo que fazer um pedido de recuperação daquele outro recurso pode resultar em uma representação que é útil para os destinatários sem implicar que representa o recurso de destino original ".
Este código de estado deve ser usado com o cabeçalho de localização. Se um servidor responde a um POST ou outra requisição não-idempotente com uma resposta 303 Veja Outro e um valor para o cabeçalho de localização, é esperado que o cliente obtenha o recurso mencionado no cabeçalho de localização usando o método GET. Para desencadear uma requisição ao recurso objetivado, utilizando o mesmo método, é esperado que o servidor forneça uma resposta 307 Redirecionamento Temporário.
O código de estado 303 tem sido proposto como uma forma de responder a uma requisição de URI que identifica um objeto do mundo real de acordo com a teoria de Web Semântica (o outro sendo o uso de URIs de hash).[1] Por exemplo, se http://www.example.com/id/alice[ligação inativa] identifica uma pessoa, Alice, então não seria apropriado para um servidor responder a um pedido GET com o código de estado 200 OK, uma vez que o servidor não poderia entregar à própria Alice. Em vez disso o servidor emitiria uma resposta 303 Veja Outro que redirecionaria para um URI separado fornecendo uma descrição da pessoa Alice.
O código de estado 303 pode ser usado para outros fins. Por exemplo, quando constrói-se uma API web RESTful que precisa retornar ao chamador imediatamente, mas continuar a executar de forma assíncrona (como uma conversão de imagem de vida longa), a API web pode fornecer um URI de verificação do estado que permite que o cliente original que solicitou a conversão verifique o estado da conversão. Esta API web de verificação de estado deve retornar 303 Veja Outro para o chamador quando a tarefa estiver concluída, juntamente com um URI do qual recupera-se o resultado no campo Localização do cabeçalho HTTP.[2]
Requisição de cliente:
POST / HTTP/1.1 Host: www.exemplo.com
Resposta do servidor:
HTTP/1.1 303 See Other Location: http://exemplo.org/outro