HTTPステータスコード

HTTPステータスコードは、サーバーが返す標準化されたレスポンスです。リクエストが成功したか、リダイレクトされたか、失敗したか、認証が必要かをクライアントに伝えます。

仕組みと判断

HTTPステータスコードは、1回のリクエストの結果を示します。成功(2xx)、リダイレクト(3xx)、クライアントエラー(4xx)、サーバーエラー(5xx)です。同じルートでも、メソッド、ホスト、プロトコル、認証状態、キャッシュによって挙動が変わることがあります。コードを読むときは、リクエストの条件を正確に押さえる必要があります。

ルートの取り決めを定めます。公開ページの成功は成功のレスポンスを返す、恒久的な移動は直接リダイレクトする、存在しないコンテンツは正しく「存在しない」と返す、一時的な障害を恒久的なエラーに見せかけない、という内容です。

1つのリクエストがサーバーを通り、2xx、3xx、4xx、5xxのレスポンスに分かれる流れを示した図です。

自分で管理できること

ステータスはリクエストの結果を表すものです。それだけでは、インデックス登録、表示、ユーザーの満足度は説明できません。

実践の手順

  1. 意図したホスト、プロトコル、メソッドでリクエストする。
  2. リダイレクトをたどり、各ホップとLocationヘッダーを記録する。
  3. ステータスを、レンダリング後のコンテンツとインデックスのポリシーと照合する。
  4. ルールを変更した後、代表的なルートを再クロールする。

FAQ

エラーに見えるページが200を返すことはありますか?
はい。レスポンスのステータスは、デザインとは無関係です。存在しないページ用のテンプレートが200を返す場合は、ソフト404として扱われることがあります。
リダイレクトの後は、どのレスポンスを確認しますか?
リダイレクトのステータスとLocationヘッダーを確認し、そのうえで最終的な遷移先のレスポンスを確認します。