このような要望にお答えします。
まずはじめに、リクエスト/レスポンス型であるHTTPプロトコルにおいて、ブラウザにWebページが表示される仕組みを簡単に説明するとこのようになります。※クライアントはブラウザと読み替えていただいて問題ありません。
- クライアントからサーバにリソースをリクエストする
- サーバからクライアントにリクエストの結果をレスポンスする
- ブラウザがレスポンスの内容を解釈して表示する
レスポンスには大きく分けて5つのメッセージがあります。そのメッセージのことをステータスコードと呼びます。
- 100番台 = 処理中
- 200番台 = 成功
- 300番台 = リダイレクト
- 400番台 = クライアントエラー
- 500番台 = サーバエラー
その中で最もよく使われているステータスコードをいくつか解説します。
目次
200 OK (リクエスト成功)
リクエストが成功したことを示す
サーバがステータスコード「200 OK」を返す流れはこんな感じです。
- クライアント:リソースをリクエスト
- サーバ:リソースをレスポンス(200 OK)
URLにアクセスしてWebサイトが表示されたなら、「200 OK」が返ったのだと思っていいです。
301 Moved Permanently (リソースの恒久的な移動)
リクエストで指定したリソースが新しいURLに移動したことを示す
サーバがステータスコード「301 Moved Permanently」を返す流れはこんな感じです。
- クライアント:リソースをリクエスト
- サーバ:リソースは別のURLに移動したことをレスポンス(301 Moved Permanently)
- クライアント:②のレスポンスにあったURLを再度リクエスト
- サーバ:リソースをレスポンス
WebサイトのリニューアルなどでリソースのURLが変更になった時に、「301 Moved Permanently」ステータスコードを返すことは多いです。301を設定することでGoogleに移動前のURLの評価を引き継ぐことも可能です。
404 Not Found (リソースの不在)
指定したリソースが見つからないことを示す
サーバがステータスコード「404 Not Found」を返す流れはこんな感じです。
- クライアント:リソースをリクエスト
- サーバ:リソースが存在しないことをレスポンス(404 Not Found)
URLの間違いやリンク切れでリソースが見つからない場合に404が返されます。
サーバがメンテナンスなどで一時的にアクセスできないことを示す
サーバがステータスコード「503 Service Unavailable」を返す流れはこんな感じです。
- クライアント:リソースをリクエスト
- サーバ:サーバメンテナンスでリソースに一時的にアクセスできないことをスポンス(503 Service Unavailable)
サーバメンテナンスで「503 Service Unavailable」を返す場合は、「サーバメンテナンス中:◯時◯分〜△時△分まで」などといったWebページを表示するように設定するのが一般的だと思います。