Envio de informações com um redirecionamento HTTP que o navegador deve enviar para o local redirecionado?

StackOverflow https://stackoverflow.com/questions/961907

Pergunta

Isso é possível .. por exemplo, imaginar que eu responder a um pedido com um 302 (ou 303), e eu informar o navegador para fazer um pedido para um determinado local .. há um cabeçalho que eu posso enviar com o HTTP 302, de modo que o pedido posterior do navegador iria incluir esse cabeçalho?

Eu sei que eu poderia fazer isso com o cabeçalho localização, como no redirecionamento e especificar as informações no url como uma string de consulta .. mas eu estou querendo saber se existe uma maneira melhor .. parece que ele deve ser um cenário legítimo ..

'Conteúdo mudou-se, clique aqui .. oh e você vai querer levar isso com você para dar para o local de redirecionamento'

Eu estou supondo que um grande e gordo não!

Agradecemos antecipadamente.


Editar

A razão para isso é no que diz respeito aos padrões PRG, onde você tem uma url GET e POST url, uma vez que você postar dados e não é aceitável, o servidor redireciona para o GET, e faz alguma 'mágica' a fim de 'dados send' para que GET, usando na maioria das vezes o estado da sessão para armazenar uma variável.

No entanto, este pode colapso em cenários onde muitas dessas solicitações PRG estão acontecendo, concedido este não é um cenário comum e, geralmente, ninguém precisa se preocupar com isso .. mas se você fazer- você vai precisa encontrar uma maneira para identificar os pedidos, isso pode ser feito com parâmetros de string de consulta enviar o 302 .. para que uma entrada específica pode ser colocado em estado de sessão de acordo com esse pedido.

A pergunta foi sobre tentar remover a tecla 'pedido' do url, e tornando-o mais implícita .. biscoitos 'aparecer' para o trabalho, mas eles só fazer a janela para ups dos parafusos menores.

Seria ótimo para dizer quando você vai a 'localização' i já especificado, enviar esses parâmetros.


Editar

Apenas a nota, eu não estou tentando fazer com que o navegador para enviar cabeçalhos arbitrários para o local, mas se houver qualquer cabeçalhos destinados a dica do contexto do pedido (como os parâmetros querystring poderia).

Foi útil?

Solução

-se uma resposta de redirecionamento não contém quaisquer dados. Você pode redirecionar usando uma URL com parâmetros de consulta, mas o novo "local" vai precisar saber como consumir esses parâmetros.

Outras dicas

Não, isso não é possível. Você não pode forçar o cliente a alguma coisa. Você só pode dizer “este não é o local certo, mas tente esse local em vez”. Mas não é garantido que o cliente irá enviar o mesmo pedido ou outro pedido nesse novo local. E informando o cliente para adicionar um campo de cabeçalho específico nessa solicitação subseqüente para o novo local também não é possível.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top