HTTP 200 OK
サーバー側でエラーが発生したときに返すのが正しいかどうか疑問に思っています(エラーの詳細はレスポンス本文に含まれます)。
例:
- 送信中
HTTP GET
- サーバー側で予期しない問題が発生しました。
- サーバーは
HTTP 200 OK
レスポンス内にエラーを含むステータスコードを返します(例{"status":"some error occurred"}
)
これは正しい動作でしょうか? ステータス コードを 200 以外のものに変更する必要がありますか?
ベストアンサー1
いいえ、エラー本文を含む200を送信するのは間違いです
HTTP はアプリケーション プロトコルです。200 は、応答に要求されたリソースの状態を表すペイロードが含まれていることを意味します。エラー メッセージは通常、そのリソースを表すものではありません。
GET の処理中に問題が発生した場合、正しいステータス コードは 4xx ("あなたが間違えました") または 5xx ("私が間違えました") です。