1

クライアントがサーバーにファイルを送信する API を設計してPUTいますが、サーバーには既にこのファイルのコピーがあり、再アップロードする必要がない場合があります。

Expect: 100-continueクライアントが非効率的なアップロード全体を実行する前に、サーバーがクライアントに通知できるように、私はすでに使用を計画しています。

私の質問は、サーバーがアップロードを必要としない場合の代わりに返すのに最適なステータス コードは何ですか?100 Continue

通常、クライアントはヘッダーを送信でき、サーバーはすでに一致する場合に でIf-None-Match応答できます。412 Precondition Failed

しかし、私の場合、重複排除はほとんど実装の詳細であり、クライアントが重複排除戦略 (たとえば、一致する値は何か) を知ることに関心を持ちたくありません。

302 Found303 See Other、または は304 Not Modified意味がありますか?

クライアントエラーではないため、またはクライアントで自動再試行ロジックをトリガーしたくないため、 a4xxは適切ではないようです。5xx

ありがとう!

4

2 に答える 2

0

クライアントの観点からは、PUT は成功しました。したがって、2xx ステータス コードが正しいと思います。200 のように、ステータス メッセージを提供するメッセージ本文を使用します。

于 2013-07-31T08:23:43.523 に答える