2016-05-23 7 views
5

私のサーバは、状態(Not approvedApprovedAuto-approved)を持つリソースを公開するものとします。リソースが状態Not approvedにある場合、リソースにはアクセスできません。つまり、クライアントはリソースの存在を知ることができますが、リソースは正しい状態になるまでアクセスを拒否されるべきです。REST:間違った状態のリソース - どのHTTPステータスを返す必要がありますか?

HTTPステータスコードには、「はい、アクセスしようとしているリソースは存在しますが、誰かが承認するまで待つ必要があります。後でやり直してください。

この場合、返されるHTTPステータスコードは何ですか?返信する404 (Not found)は、リソースが実際に存在するため正しく表示されません。 ...ステータスコード412 (Precondition failed)は右について聞こえるが、the RFCはHTTPヘッダについて多くを語って

412ステータスコードは、リクエストヘッダフィールドで与えられた一つ以上の 条件がfalseと評価されていることを示している(前提条件に失敗しました)とき サーバー上でテストされます。このレスポンスコードにより、クライアントは現在のリソース状態(現在の の表現とメタデータ)に の前提条件を置き、ターゲットリソースが予期しない状態になった場合に要求メソッド が適用されないようにします。説明で述べた

+2

"クライアントにアクセスしないでください"という意味を具体的に記述してください。クライアントはリソースが存在することを知ることができますか? –

+1

@DisplayName、ありがとう。私は質問を更新しました。 –

答えて

4

条件はとても412の使用は、あなたのケースで適切ではないIf-MatchIf-Modified-SinceIf-None-MatchIf-RangeまたはIf-Unmodified-SinceのようなHTTPヘッダを参照してください。

私はNot approvedリソースが特定のユーザー403または423をロックに制限、404単に利用できない場合、それはあなたの解釈次第だと思います。

私はあなたのケースでは423 (Locked)(承認まで)が正しい返答であると言います。

関連する問題