No HTTP 1.1, na verdade é um código de status ( 307 ) que indica que a solicitação deve ser repetida usando o mesmo método e postar dados .
Como outros já disseram, existe um potencial para uso indevido aqui, o que pode ser o motivo pelo qual muitos frameworks aderem a 301 e 302 em suas abstrações. No entanto, com uma compreensão adequada e uso responsável, você deve ser capaz de realizar o que está procurando.
Observe que, de acordo com a especificação do W3.org , quando o METHOD
não é HEAD
ou GET
, agentes do usuário devem avisar o usuário antes de reexecutar a solicitação no novo local. Você também deve fornecer uma nota e um mecanismo de fallback para o usuário, caso os agentes de usuários antigos não tenham certeza do que fazer com um 307.
Usando este formulário:
<form action="Test307.aspx" method="post">
<input type="hidden" name="test" value="the test" />
<input type="submit" value="test" />
</form>
E com o Test307.aspx, basta retornar 307 com o local: link , o Chrome 13 e o Fiddler confirmam que "teste = teste" é realmente publicado para o Google. É claro que a resposta adicional é um 405, já que o Google não permite o POST, mas mostra a mecânica.
Para mais informações, consulte Lista de códigos de status HTTP e o Especificação do W3.org .
307 Temporary Redirect (since HTTP/1.1) In this occasion, the request should be repeated with another URI, but future requests can still use the original URI.2 In contrast to 303, the request method should not be changed when reissuing the original request. For instance, a POST request must be repeated using another POST request.