ホームページをはじめWebを活用したツールは、現代人にとって「なくてはならない必需ツール」です。それがもし突然使えなくなったら、困る人がたくさん出てくることでしょう。
例えば、いつも閲覧しているホームページにアクセスすると「404 Not Found」というエラーコードが表示され、アクセスできない…という経験はありませんか?
この現象が自社のホームページで起きたら、原因を特定し解決しなければなりませんが、実は「404」という数字(コード)には障害の原因が示されています。
今回は、自社サイトを運営するにあたってホームページでよく表示されるエラーコードと、その対処法について紹介します。原因がわかれば早急に対応できますので、しっかり確認していきましょう。
ホームページを閲覧するとき、IEやグーグルクロームといった「ブラウザ」は、アクセスしたい「Webサーバー」に対して、閲覧できるか確認(リクエスト)をします。
そのリクエストに対して、Webサーバーはブラウザに一致するページを返しますが、その返事のなかには3桁の数字からなるコードも含まれています。このコードを、「ステータスコード」といいます。
ステータスコードは、大きく5つのカテゴリにわけられます。
このなかで正常にページが開けなかったときに表示されるコードが、400番台の「クライアントエラー」と、500番台の「サーバーエラー」です。
400番台のクライアントエラーとは、「ブラウザ(クライアント)からのリクエストが誤っている」という意味です。
ステータスコードのなかでは400番台がもっとも多く、全部で20種類以上あります。そのなかで、よく見られる4つを紹介しましょう。
400 Bad Requestとは、「ブラウザもしくは端末から送られる情報に誤りがあって、正しく表示できません」という内容です。
ブラウザに原因がある場合は、Cookieやキャッシュの問題であることが多いです。そのホームページを閲覧したことのないブラウザで閲覧することにより、Cookieやキャッシュが原因かを判別できます。
また端末に原因がある場合は、OSのセキュリティ・パッチなどが問題となっていることが多いです。OSのバージョンアップやWindows UPdateなどを行い、解消されるか確認しましょう。
401 Unauthorizedとは、「アクセス権がない、または認証に失敗しました」という意味です。主に、閲覧権限があるページのBasic認証やDigest認証で入力情報(ユーザーIDやパスワードなど)が正しくなく、ページが開けない場合に見られます。
原因は、入力した情報にあります。入力情報の見直しや、認証用の情報が更新されてないかなど確認しましょう。
403 Forbiddenとは、アクセス拒否をされたときに表示されます。つまり「閲覧禁止」という意味です。原因はいくつか考えられますが、主要なものとして「.htaccessの設定が不適切」か「パーミッションの設定」に問題があることが多いです。
少し専門的な話になりますが、「.htaccess」とは、サーバーのroot権限がない場合に個別に設定するファイルのことです。設定を誤ると、ホームページやディレクトリ全体に大きく影響を及ぼします。
.htaccessで起きる場合は、許可IP以外のアクセス制限か、DirectoryIndexが原因となります。IP制限に関しては、例えば社内IPからのアクセスのみ閲覧可能にすることが、よくある対策です。
DirectoryIndexは、スラッシュ(/)で終わるURIにアクセスがあった場合に、どのファイルを代替して呼び出して表示するかを指定することができます。逆に設定されていなければ、スラッシュ(/)で終わる URIにアクセスしてもどのファイルを参照していいのかがわからず、エラーとなります。
404 Not Foundとは、ホームページにアクセスできたものの「ファイルが存在しない」ことを表しています。このエラーが表示される場合は、主に4つの理由が考えられます。
「1.リンク切れしている」では、URLが誤っていなければ「2.ページが削除、または移動されている」が原因と考えられます。
「3.リダイレクト設定の未設置、誤りがある」は、ページを移動しても運営者がリダイレクト処理をすることで表示されるようになりますが、それでもエラーとなる場合はリダイレクト設定を見直す必要があります。
「4.アドレスバーに入力した文字列が誤り」とは、入力した文字列が誤っているだけですので、正しい情報を入力して再度アクセスすることで解決します。
500番台のエラーは、「サーバーの返信に誤りがあった」という意味です。閲覧者側が目にすることは少ないですが、サイト制作や運営でよくみられますので、特に次の2つはおさえておきましょう。
500 Internal Server Errorとは、「サーバー内部でエラーが発生している」という意味です。例として、PHPやCGIとして動作させているプログラムに文法エラーがあったり、.htaccessの記述が誤っていたり、設定に誤りがあった場合などに返されます。
サーバー情報を変更できる機能やFTP情報で作業を行った場合には、バックアップに戻して復元するようにしましょう。もし何も行っていないのにエラーが起きている場合は、サーバー側の障害やメンテナンスが影響している可能性があります。関連情報を提供しているサイトや、SNS等で情報を確認しましょう。
503 Service Unavailableとは、「サービス利用不可」という意味を持つエラーコードです。大量のデータが同時にダウンロードされている場合や、同時アクセスが多くなり一時的に過負荷に陥っているなど、サーバーの処理の許容量を超えた場合に返されます。
専用サーバーであれば単純に過負荷ですが、共用サーバーでは別のサイトへのアクセスが多くなっていることも考えられます。共用サーバーを使っていて、自社サイトのアクセスは多くないのに503 Service Unavailableが表示される場合には、専用サーバーへの移行を検討するのも解決策の1つでしょう。
また過負荷以外にも、503 Service Unavailableはホームページのメンテナンスにも使用されます。例えば、一時的にサイトを閉じたりする際に、Googleからの評価を保つために503エラーを返すことがあります。閲覧者側では「ただいまメンテナンスをしています。●●月××日の■時にリニューアルオープンします」等の掲載があるので、エラーとして目につくことはないのですが、ステータスコードとしては同じく503 Service Unavailableを返している場合があります。
ここで紹介したエラーは、ホームページの制作や運営を専門的に行っている方であれば、基本中の基本の内容ですが、本業と兼任しながら運営されている方には「初めて知った」という方もいらっしゃると思います。
エラーが起きると原因や対処方法が分からないために焦ってしまい、打つ手がわからず時間だけが過ぎていき、結局正しく処理できないといった、無駄な労力を費やすこともあるでしょう。
もちろん、エラーがないことが一番ではありますが、起こってしまった場合には、まずは冷静にエラーの内容を確認して、対処をスムーズに行えるよう準備しておきましょう。