用語辞典・エラー・運用

200 OK

200 OKとは

200 OK(トゥー・ハンドレッド・オーケー)は、HTTP要求が正常に処理され、応答内容が返されたことを示すステータスです。

2xx 分類の代表ですが、「同じHTML本文を返すコード」ではありません。応答内容が何を表すかは要求メソッドで変わります。

200はHTTP要求がそのメソッドの意味で成功したことを示します。業務処理、入力値、決済、画面表示まで成功したかは応答本文とアプリケーション仕様を別に確認します。

同じ200でもメソッドによって内容の意味が変わる取得表現、付随情報、処理結果、更新後表現を要求と対応させる
ブラウザーからサーバーへ送った要求が成功し、取得した文書、付随情報だけ、送信処理の結果、更新後の資源という異なる応答内容へ分かれるピクトグラム図解
図1外側のHTTP成功と、内側のアプリケーションデータは別層です。クライアントはステータスと内容構造定義の両方を検証します。

メソッド別の内容

GET要求した資源の表現

選択された表現データを応答の内容として返します。

HEADGET相当の付随情報

応答ヘッダーを返し、メッセージ内容は送りません。

POST処理の結果

処理結果の状態や表現を返せます。新規URI作成なら201が適する場合があります。

PUT・DELETE操作後の状態表現

成功後の表現データを返す場合に200を使えます。本文不要なら204も候補です。

200・201・204を使い分ける

コード中心となる意味応答設計
200要求が成功し、結果内容を返す内容のメディア種類と構造定義を明示
201新しい資源を作成したLocationなどで作成先を示す
204成功したが送る内容がない空本文を成功ページで埋めない

「成功は全部200」にすると、クライアントは作成・本文なし・既存表現取得を本文解析で推測することになります。HTTP意味をコードへ表し、アプリケーション固有結果は本文へ分けます。

付随情報とキャッシュ

200応答は原則として推測規則キャッシュの対象になり得ますが、メソッド、Cache-Control、認証状態などの条件があります。ETag・Last-Modifiedを返せば、次回クライアントは条件付き要求を送り、変更がなければ304で内容転送を省けます。

Content-Typeは実際の表現データに合わせます。JSONエラー対象を200で返すならHTTP上は成功としてキャッシュ・監視に扱われるため、本当にそのAPI契約で適切か検討します。

見かけ上のエラーを避ける

見つからないページを画面上では「ありません」と表示しながら200で返す状態を見かけ上の404と呼ぶことがあります。巡回プログラム、キャッシュ、監視、クライアントが正常ページと誤認します。資源がなければ404など、実態に合うステータスを返します。

監視も200率だけでなく、遅延、内容検証、アプリケーションエラー、依存サービス結果を合わせます。200は正常性の一要素であり、完成した業務結果の保証書ではありません。

200 OKは要求メソッドの意味に沿って処理が成功し、その結果内容を返すステータスです。メソッド、メディア種類、構造定義、キャッシュ付随情報を揃え、作成・本文なし・資源なしを何でも200へ押し込めません。

200 OKのメソッド別の意味:RFC 9110「200 OK」

関連用語