0

Web サービス用の API を構築していますが、自問自答しています。のように、新しいプロジェクトを作成するための API 呼び出しとして、新しく作成されたプロジェクトに/api/project/create.json( を使用して) リダイレクトすると想像してください。最初のリクエストが POST 経由で送信された場合、2 番目の URI を GET で取得する必要があることはどこで指定されていますか?302 Redirect/api/project/123.json

リダイレクトの後に常に GET を使用する必要があると述べている RFC はありますか? それとも、単に URL を変更して同じ POST リクエストを新しい URL に再度送信することは有効なクライアントの動作ですか?

古い API サーバーと新しい API サーバーがあり、クライアントの POST-Request を新しい API-URL にリダイレクトしたいとします。私は何をしなければなりませんか?

4

1 に答える 1

1

最初のリクエストが POST 経由で送信された場合、2 番目の URI を GET で取得する必要があることはどこで指定されていますか?

どこにもない。

リダイレクトの後に常に GET を使用する必要があると述べている RFC はありますか? それとも、単に URL を変更して同じ POST リクエストを新しい URL に再度送信することは有効なクライアントの動作ですか?

いいえ、実際には RFC (RFC 2616) は、301 と 302 でメソッド名を変更することは正しくないと述べています。

詳細については、http: //greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-19.html#status.3xxも参照してください。

古い API サーバーと新しい API サーバーがあり、クライアントの POST-Request を新しい API-URL にリダイレクトしたいとします。どうすればいいですか?

ステータス コード 307 を使用することをお勧めします (これは、ブラウザのバグが少ないためです)。

于 2012-04-11T12:13:43.143 に答える