「サイトを開いたら数字が3桁表示されてよくわからない」「403と404って何が違うの?」といった疑問をお持ちの方は多いと思います。これらはHTTPステータスコードと呼ばれるもので、Web担当者でなくても知っておくと役に立ちます。本記事では、よく見るコードをまとめて解説します。

HTTPステータスコードとは

HTTPステータスコードとは、WebブラウザとWebサーバーが通信した際に、サーバーが結果を伝えるための3桁の数字です。

たとえばページを正常に表示できたとき、サーバーは裏側で「200 OK」を返しています。エラー画面に数字が表示されるのは、問題が起きたことをコードで通知しているわけです。

ステータスコードは最初の1桁によって大きく5種類に分類されます。

分類意味
1xx(情報)処理中・追加情報あり
2xx(成功)リクエスト成功
3xx(リダイレクト)別のURLに転送
4xx(クライアントエラー)リクエスト側に問題あり
5xx(サーバーエラー)サーバー側に問題あり

日常のサイト運営で関係するのは主に2xx・3xx・4xx・5xxです。

200番台:成功

200 OK

最も基本的なコードです。リクエストが成功し、正常にページが表示されている状態です。普段意識することはありませんが、サイトが問題なく動いているときは常に200が返っています。

300番台:リダイレクト(転送)

301 Moved Permanently(恒久的なリダイレクト)

URLが恒久的に移動したことを示します。ドメイン変更やページURL変更の際に使われ、検索エンジンへのSEO評価の引き継ぎにも効果があります。

302 Found(一時的なリダイレクト)

URLが一時的に別の場所に移動していることを示します。キャンペーンページへの一時的な誘導などに使われますが、SEO評価は原則として引き継がれません。

400番台:クライアントエラー(リクエスト側の問題)

403 Forbidden(アクセス禁止)

アクセスが拒否された状態です。ページ自体は存在しますが、アクセスする権限がないと判断されています。パーミッション設定・.htaccessの記述・IPアクセス制限などが原因になります。

詳しくは 403 Forbiddenエラーの原因と対処法 をご参照ください。

404 Not Found(ページが見つからない)

指定したURLにページやファイルが存在しない状態です。URLの入力ミス・ページの削除・移動などが原因です。サーバー自体は正常に動いています。

詳しくは 404エラーの原因と直し方 をご参照ください。

500番台:サーバーエラー(サーバー側の問題)

500 Internal Server Error(サーバー内部エラー)

サーバー内部で何らかのエラーが発生し、リクエストを処理できない状態です。.htaccessの記述ミス・PHPのエラー・プラグイン競合などが典型的な原因です。

詳しくは 500 Internal Server Errorの原因と対処法 をご参照ください。

502 Bad Gateway

サーバーが別のサーバーからの応答を受け取れなかった状態です。WordPressにリバースプロキシやCDNを組み合わせている環境で発生することがあります。しばらく待って再試行するか、サーバー会社に問い合わせます。

503 Service Unavailable(サービス利用不可)

サーバーが一時的にリクエストを処理できない状態です。アクセス集中・メンテナンス中・WordPressの更新エラーによる .maintenance ファイルの残りなどが原因です。

詳しくは 503エラーの原因と対処法 をご参照ください。

その他、知っておくと役立つコード

401 Unauthorized(認証が必要)

ログイン認証が必要なページに、認証なしでアクセスした状態です。403(権限がない)と違い、正しく認証すればアクセスできます。

429 Too Many Requests(リクエスト過多)

短時間にアクセスが集中しすぎた状態です。時間をおいて再試行します。

304 Not Modified(変更なし)

前回取得した内容から変更がないことを示します。ブラウザのキャッシュが使われている正常な状態で、エラーではありません。

410 Gone(恒久的に削除)

404と似ていますが、「一時的に無い」ではなく「恒久的に削除された」ことを示します。

よく見るコードの早見表

コード名称意味利用者側でできること
200OK正常に表示問題なし
301Moved Permanently恒久的に転送自動で転送されるので通常は何もしなくてよい
302Found一時的に転送自動で転送されるので通常は何もしなくてよい
401Unauthorized認証が必要ログイン・認証を行う
403Forbiddenアクセス禁止URL確認・管理者へ問い合わせ
404Not FoundページなしURLを確認・サイト内検索を利用
429Too Many Requestsアクセス過多時間をおいて再試行
500Internal Server Errorサーバー内部エラー時間をおいて再試行・管理者へ連絡
502Bad Gatewayゲートウェイエラー時間をおいて再試行・管理者へ連絡
503Service Unavailable一時的にサービス停止時間をおいて再試行

よくある質問

Q. 403と404の違いは何ですか?

A. 404は「ページが存在しない」、403は「ページは存在するがアクセスが許可されていない」状態です。

Q. 500と503の違いは何ですか?

A. 500はサーバー内部の処理エラー(設定ミスやプログラムの不具合)、503はアクセス集中やメンテナンスで一時的に応答できない状態です。503は時間をおくと直ることが多いです。

Q. ステータスコードはどこで確認できますか?

A. ブラウザの検証ツール(F12 →「ネットワーク」タブ)で各リクエストのステータスを確認できます。Google Search Console でも、インデックス時に返ったコードを確認できます。

まとめ

  • HTTPステータスコードはブラウザとサーバーの通信結果を表す3桁の数字
  • 2xxは成功、3xxは転送、4xxはリクエスト側の問題、5xxはサーバー側の問題
  • 403・404・500・503はサイト運営でよく遭遇するエラーコード
  • 各エラーには固有の原因があり、対処法も異なる

エラーが解消しない・原因が特定できないというときは、Web Gear にお気軽にご相談ください。お問い合わせはこちら