HTTP 303

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

Referências

  1. Cool URIs for the Semantic Web, seção 4
  2. Subbu Allamaraju. RESTful Web Services Cookbook: Solutions for Improving Scalability and Simplicity. O'Reilly Media, 2010, p. 20.


Ícone de esboço Este artigo sobre Internet é um esboço. Você pode ajudar a Wikipédia expandindo-o.