2016-12-26 4 views
2

私はRailsでソーシャルアプリのAPIを書いた。このアプリはFacebookが好きなので、ユーザーは他のユーザーをブロックすることができます。ユーザーAがユーザーBをブロックすると、ユーザーBはユーザーAのプロフィールページを見ることができません。したがって、404,403,204、または200(表示しないでください)のHTTPコードの状態は何ですか?rails apiでブロックされたユーザープロファイルに最適なHTTPステータスコードは何ですか?

+0

「ページが見つかりません:404」は最も適切です – sa77

+0

ベストステータスコードを選択する方法がわからない場合は、参考になりますhttp://racksburg.com/choosing-an-http-status-code/ 、あなたのケースではbtw 403 IMOが最善の選択です! –

+0

ご支援ありがとうございます@@ – babie

答えて

0

IははるかにFORBIDDEN 403

403(禁止)状態コードを使用することを好むサーバは 要求を理解していることを示し、それを許可することを拒否する。
を要求したサーバーは、応答のペイロード(存在する場合)に
の理由を記述することができます。

要求で認証資格情報が提供された場合、
サーバーは、アクセスを許可するには十分ではないとみなします。クライアント
は同じ
の資格情報で自動的に要求を繰り返すべきではありません。クライアントは、新しいまたは異なる 資格情報で要求を繰り返すことができる(MAY)。ただし、資格情報と関係のない理由で要求が禁止されている可能性があります。

代わりに(見つかりません)
404のステータスコードで応答することができる
禁じ対象リソースの現在の存在を「隠す」ことを望むオリジンサーバ。

https://tools.ietf.org/html/rfc7231#section-6.5.3

0

このためのベストプラクティスが403である、しかし、そうすることは、ユーザーがブロックされているという事実を公開します。あなたがそれを望まないなら、404を返すことができます。一例として、プライベートレポスへの不正アクセスのためのGithubは常に404を返します。

関連する問題