編集部のたけのこです。Webサイトを閲覧している時に、「404」や「503」などのエラー文に遭遇することはありませんか?
これは「HTTPステータスコード」というもので、こちらからのリクエストに対してのサーバーからのレスポンス(応答)です。
エラーに遭遇すると、見たかったサイトが閲覧できずがっかりします。では、もし自身が運営しているWebサイトでエラーが発生してしまったら、どうすればいいのでしょうか。
本記事では、頻出のエラーに対して、その原因と解消法をまとめています。エラーがでたときの参考にしてください。
400番台のエラー数字(クライアントエラー)
HTTPステータスコードの400番台は、リクエストするクライアント側(ユーザー側)に問題があって発生したエラーを表しています。
よく見かける400番台のステータスコードを紹介します。
400 – Bad Request
意味 | リクエストに不正があり、うまく処理できません(リクエストが不正です) |
---|---|
原因 | URLの構文ミス、ブラウザのキャッシュ破損などさまざま |
ユーザーの対処法 | Cookieやキャッシュをクリアする、別のブラウザを利用する |
「400 Bad Request」は、400番台の他のステータスコードでのエラーのどれにも当てはまらない、はっきりした原因がわからないエラーの時に返されます。
ほとんどの場合はユーザー側のブラウザに問題があることが多いようです。そのため、他のブラウザを利用したり、履歴やキャッシュ、Cookieのクリアを行ったりすることで解消できることもあります。
401 Unauthorized
意味 | 権限がないのにアクセスしている、IDやパスワードを入力ミスしている |
---|---|
原因 | 権限がないのにアクセスしている、IDやパスワードを入力ミスしている |
ユーザーの対処法 | 権限があるか確認する、IDやパスワードが間違っていないか確認する |
「401 Unauthorized」は、認証が必要なWebサイトに対し、パスワードが間違っていた場合や、閲覧権限がない時などに出るエラーです。
まれに、サーバー側の不具合によって表示されることもあるようです。
403 Forbidden
意味 | アクセス権がありません |
---|---|
原因 | 何らかの理由でアクセスが禁止されている、サーバーに負荷がかかっている |
ユーザーの対処法 | 別のネットワークを使用する、アクセス権を付与してもらう、時間をおいて再度アクセスする |
「403 Forbidden」は、リクエスト先のページへのアクセス権がない場合に表示されます。アクセスにIP制限がかかっていることでこのエラーが発生しますが、サーバーに高い負荷がかかっていることが原因であることも。
404 Not Found
意味 | リクエスト先のページが存在しません |
---|---|
原因 | URLが間違っている、すでに該当ページが削除されている |
ユーザーの対処法 | URLが間違っていないか確認する、検索エンジンからページを検索する |
「404 Not Found」は、リクエスト先のページが存在しない場合に表示されます。入力したURLのスペルが間違っていたり、ページが削除されていたりという原因が考えられます。
企業のサイトでは、遊び心のあるオリジナルの404エラーページを用意していることもあります。「Amazon」のサイトで見たことがある方も多いのではないでしょうか。
例:米Amazonの404ページ
408 Request Timeout
意味 | リクエストが時間切れになりました |
---|---|
原因 | ファイルが大きすぎる、サーバーが混雑している |
ユーザーの対処法 | 時間をおいてからアクセスする |
「408 Request Timeout」は、リクエストに時間がかかり、読み込みなどが完了しないまま時間切れになった場合に表示されます。
原因としては、読み込むファイルが大きすぎたり、サーバーが混雑していたり、何らかの理由でサーバー側が処理ができなかったりなどが考えられます。
少し時間をおいて再度アクセスするとエラーが改善されることもありますが、リクエスト先の対処が必要な場合もあります。いずれにせよ、しばらく待ってから再アクセスしましょう。
500番台のエラー数字(サーバーエラー)
HTTPステータスコードの500番台は、サーバー側に問題があって発生したエラーを表しています。よく見かける500番台のステータスコードを紹介します。
500 Internal Server Error
意味 | サーバーがリクエストを実行できませんでした |
---|---|
原因 | プログラムに問題がある、パーミッション設定にミスがあるなど |
サーバー側の対処法 | プログラムやパーミッション設定にミスがないか確認する、ホスティング会社に連絡する |
「500 Internal Server Error」は、サーバーに何らかの問題が発生しており、ユーザーからのリクエストを実行できない場合に表示されます。
原因としてはさまざま考えられますが、プログラムにミスがある、パーミッション設定にミスがある、.htaccessに記述ミスがあるなどが挙げられます。
502 Bad Gateway
意味 | ゲートウェイに問題が発生しています |
---|---|
原因 | サーバー側の設定ミス、スクリプトのトラブル、PHPのバージョン変更など |
サーバー側の対処法 | パーミッションなどの確認、CGIの確認など |
「502 Bad Gateway」は、ゲートウェイとして動作するサーバーに何らかの問題が発生した場合に表示されます。
原因としては、サーバー側の設定ミス、PHPのバージョン変更、スクリプトの設置場所のミス、パーミッションのミスなどが考えられます。
エラーの原因が複数想定されるエラーコードのため、原因特定や対処をなかなかしにくい特徴があります。
503 Service Unavailable
意味 | サーバーが一時的に利用できません(高負荷がかかっています) |
---|---|
原因 | リクエスト先にアクセスが集中し、同時アクセスできる上限数を超えた |
サーバー側の対処法 | サーバーの負荷が上がるプログラムがないか確認する、事前にサーバーのスペックを上げておく |
「503 Service Unavailable」は、アクセスが集中しサーバーに負荷がかかった、またはメンテナンスなどでサーバーが一時的に利用できない状態の時に表示されます。
事前に多くのアクセスが想定される場合は、事前にサーバーのスペックを上げ、負荷チェックを行っておくとこのエラーが発生しにくくなるでしょう。
まとめ
Webサイトのエラーの原因はさまざまで、それぞれの対処法があります。自身のWebサイトをユーザーが快適に閲覧できるよう、サーバー側の不具合は早めに対処していくことが望ましいでしょう。
また、オリジナルの404エラーページを用意することは、せっかく来てくれたユーザーを離脱させず、別のページに遷移してもらうのに重要です。
まだ用意していないのであれば、少しもったいないかもしれませんね。ぜひ作成を検討してみてください!