HTTP 1.1では、同じメソッドを使用してリクエストを繰り返し、データを送信する必要があることを示すステータスコード(307)が実際にあります。
他の人が言ったように、ここで誤用の可能性があり、それが多くのフレームワークが抽象化で301と302に固執する理由かもしれません。ただし、適切な理解と責任ある使用法により、探しているものを達成できるはずです。
ことに留意されたいW3.org仕様場合、METHOD
ではないHEAD
、またはGET
、ユーザエージェントがユーザを促すべき新しい位置で再実行要求の前に。また、古いユーザーエージェントが307で何をすべきかわからない場合に備えて、ユーザーにメモとフォールバックメカニズムを提供する必要があります。
このフォームの使用:
<form action="Test307.aspx" method="post">
<input type="hidden" name="test" value="the test" />
<input type="submit" value="test" />
</form>
また、Test307.aspxにLocation:http : //google.com、Chrome 13およびFiddler を指定して307を返すだけで、「test = the test」が実際にGoogleに投稿されたことを確認できます。もちろん、GoogleはPOSTを許可していないため、それ以上の応答は405です。しかし、それはメカニズムを示しています。
詳細については、HTTPステータスコードのリストとW3.org仕様を参照してください。
307一時的なリダイレクト(HTTP / 1.1以降)この場合、リクエストは別のURIで繰り返される必要がありますが、今後のリクエストでは元のURIを使用できます。2 303とは対照的に、元のリクエストを再発行する場合、リクエストメソッドを変更しないでください。たとえば、別のPOST要求を使用してPOST要求を繰り返す必要があります。