2

API エンドポイントがあり、リクエストには Cookie (認証ではない) が必要です。存在しない場合に返される正しい HTTP ステータス コードは何でしょうか?

400Bad Request が最適だと思います。

4

2 に答える 2

4

あなたの質問には詳細が記載されていませんが、400(Bad Request) は良い選択肢だと思います:

6.5.1. 400不正な要求

( 400Bad Request) ステータス コードは、クライアント エラーと見なされる何かが原因で、サーバーがリクエストを処理できない、または処理しないことを示します (たとえば、不正なリクエスト構文、無効なリクエスト メッセージ フレーミング、不正なリクエスト ルーティング)。

ただし、要件によって422は、HTTP プロトコルの単なる拡張である WebDAV 仕様で定義されている (処理不能エンティティ) ステータス コードを考慮することもできます。

11.2. 422 処理不能エンティティ

( 422Unprocessable Entity) ステータス コードは、サーバーがリクエスト エンティティのコンテンツ タイプを理解していることを意味し (したがって、 415(Unsupported Media Type) ステータス コードは不適切です)、リクエスト エンティティの構文は正しい (したがって、400(Bad Request) ステータス コードです)は不適切です) が、含まれている指示を処理できませんでした。たとえば、このエラー状態は、XML 要求本文に整形式 (つまり、構文的に正しい) が含まれているが、意味的に誤った XML 命令が含まれている場合に発生する可能性があります。


要求に何が欠けているかを説明する適切な説明を応答ペイロードに提供することを覚えておいてください。

于 2016-04-18T15:14:19.413 に答える