HTTP 200 OK
標準的な成功レスポンス: リクエストが理解され、回答はレスポンスボディに含まれます。
HTTP 200 の意味
HTTP 200 OK はデフォルトの成功ステータスです。GET リクエストの場合、レスポンスボディに要求されたリソースが含まれることを意味し、POST の場合はアクションが完了し、ボディにその結果が記述されることを意味します。Web 上で圧倒的に多いステータスであり、通常のページ表示、API の読み取り、アセットのダウンロードは、そのほとんどが 200 で終わります。
200 は(204 とは異なり)常にレスポンスボディを伴い、新しいリソースが作成されたことは意味しません(それは 201 です)。エラーページに対して 200 を返す、いわゆるソフトエラーは、API と SEO の両方でよく見られるアンチパターンです。クライアントや検索エンジンはそのレスポンスを有効なコンテンツとして扱ってしまいます。
200 レスポンスのよくある原因
- ページ、API リソース、またはファイルが正常に配信されました。
- フォーム送信または API 呼び出しが完了し、データが返されました。
- キャッシュされたコピーが再検証され、CDN のエッジから配信されました(age やキャッシュヘッダーを確認してください)。
- 404 や 500 の代わりに 200 で応答するよう誤って設定されたエラーページ(ソフトエラー)です。
開発者向けの推奨プラクティス
- リクエストが真に成功した場合にのみ 200 を返してください。作成には 201、空の成功には 204、失敗には 4xx/5xx を使用してください。
- 「見つかりません」というコンテンツを 200 ステータスで配信しないでください。検索エンジンがそれをインデックスしてしまい、監視ツールも障害を見逃します。
- プロキシやブラウザがボディを適切に処理できるよう、正しい Content-Type とキャッシュヘッダーを含めてください。
レスポンス例
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: max-age=300
{"status":"ok","items":[...]}SEO への影響
SEO の観点では、200 は URL が有効でインデックス可能であることを示すシグナルです。200 で応答するのは本物の正規コンテンツだけにしてください。重複ページや空ページが 200 を返すとクロールバジェットを浪費し、Google Search Console でソフト 404 としてフラグが立てられることがあります。
よくある質問
成功したリクエストは必ず 200 を返しますか?
いいえ。作成が成功した場合は 201、空の成功は 204、部分的なダウンロードは 206 を返すべきです。200 は単に最も一般的な成功コードです。
ソフト 404 とは何ですか?
ユーザーにエラーメッセージを表示しているにもかかわらず、HTTP 200 で応答しているページです。検索エンジンはそれをインデックスしたり、Search Console でソフト 404 としてフラグを立てたりすることがあります。
200 レスポンスはキャッシュできますか?
はい。キャッシュされるかどうか、またその期間は、Cache-Control、ETag、Last-Modified といったヘッダーで制御されます。