web-dev-qa-db-ja.com

セッショントークンが無効な場合、どのステータスコードを使用すればよいですか?

Webサービス(RESTful)を作成するとき、セッショントークンが無効な場合、どのステータスコードを使用すればよいですか?現在、私の会社では404を送信していますが、見つかりませんでしたが、リソースが存在するため、これは正しくないと思います。多分私は401 Unauthorizedを使うべきです。どう思いますか?このシナリオでは、どのステータスコードを使用することをお勧めしますか?ありがとう。

23
Ricardo

401無許可。

既存のセッショントークンでは認証されないため、認証されません。

セッショントークンは、すべての要求に対して資格情報を提供する必要がないようにするための単なるショートカットであることを忘れないでください。

ご覧のとおり、リソースは存在するため、404の送信は正しくありません。現在、それを表示する権限がありません。

注:403 Forbiddenを使用しないでください。 HTTP仕様では、次のように定義されています。「サーバーは要求を理解しましたが、実行を拒否しています。許可は役に立たず、要求は繰り返されるべきではありません。」この場合、承認は役立つため、これは適用されません。

53
Colin 't Hart

HttpStatusCode enum を見ると、Unauthorizedがおそらくあなたが探しているものに最も近いと思います。

そこでリストを見て、それぞれの説明を読んでください。

2
Danny Beckett