307 リダイレクトは、一時的な URL 転送でありながら、元のリクエストメソッド (POST 、 PUT など) をそのまま保持する HTTP ステータスコードです。 HTTP/1.1 (RFC 7231) で定義されました。
307 が生まれた背景には、 302 リダイレクトの仕様上の曖昧さがあります。 302 の本来の定義では「リクエストメソッドを変更してはならない」とされていましたが、実際には多くのブラウザが POST を GET に変換してしまう実装が広まりました。 307 はこの問題を明確に解決し、「メソッドを絶対に変更しない一時的リダイレクト」として機能します。
実務で 307 が必要になる典型的なケースは、フォーム送信 (POST リクエスト) のリダイレクトです。たとえば、決済処理中にメンテナンスページへ一時的に転送する場合、 302 では POST データが失われるリスクがありますが、 307 なら POST ボディがそのまま転送先に送られます。
短縮 URL サービスでは、通常のリンククリックは GET リクエストなので 307 と 302 の違いは表面化しません。ただし、 API 経由で短縮 URL を POST リクエストの転送に使うケースでは、 307 の採用が適切です。関連書籍は Amazon でも探せます。