2021年10月08日 -

httpステータスコードとは?一覧とエラー時の対処法をご紹介

普段何気なくWebサイトを見るなかで、「このページは表示できません」、「本サイトは移動しました。新しいページへ移動します」といった表示を見たことがある方も多いはず。本記事では、httpステータスコードとは何か、一覧やエラー時の対処法などをご紹介します。ブラウザごとの確認方法も解説しているため、ぜひ参考にしてみてください。

httpステータスコードとは

httpステータスコードとは、Webサイトを閲覧するブラウザから送られてくるリクエストに対して、Webサーバーからのレスポンス結果を示す3桁のコードのことです。「100」から「510」までの数字に割り振られており、各数値にレスポンス結果やエラー内容の意味があります。

httpステータスコード一覧

httpステータスコードは、以下の5つのカテゴリに分類されます。以下は種類別の主要なステータスコード一覧です。

・情報レスポンス
・成功レスポンス
・リダイレクション
・クライアントエラー
・サーバーエラー

情報レスポンス(100〜199)

ブラウザから送られてくるリクエストに対して、処理を継続して行っていることを意味します。

コード 概要
100 リクエストに対して、サーバーにて処理が継続している状態です。
101 正しい処理を行うために、プロトコルの切り替えを求めている状態です。
102 リクエストが完全に処理できていない状態です。
103 サーバーがリソースを準備し、ユーザーエージェントがリソースの先読みを開始できるようにするためのものです。

成功レスポンス(200〜299)

成功レスポンスは、リクエストを正確に受け取ったことを意味します。通常、Webサイトをパソコンやスマートフォンで閲覧する際に、100〜199のいずれかを受信しています。

コード 概要
200 リクエストを正しく処理できている状態です。
201 リクエストは成功し、その結果新しいリソースが作成されたことを示す番号です。POSTリクエストや、一部の PUT リクエストを送信した後のレスポンスです。
202 リクエストが受理された状態であるものの、まだ実行されていないことを示しています。
203 リクエスト内容が、信頼されていないことを示しているレスポンスです。正規のリクエストではなく、ローカルや第三者からの複製だと判断されています。
204 リクエストを受け取っているものの、返信できるコンテンツが存在しない状態です。
205 リクエストに成功しているものの、ユーザーエージェントに対してリセットするよう返している状態です。
206 部分的にリクエストを受理している状態です。リソースの一部だけをリクエストした際に用いられます。
207 複数のステータスコードが該当している状態を示します。

UI/リダイレクション(300〜399)

リダイレクションとは、Webページの移行を正しく行うために、追加の処理が必要であることを示しています。新しいURLへの転送する際に用いられるコードです。

コード 概要
300 単一のリクエストに対して、複数のレスポンスが存在している状態です。
301 リクエストされたリソースのURLが、恒久的に移動してしまっている状態です。
302 リクエストされたリソースのURLが、一時的に変更している状態です。別に設定したURLへの遷移が行われます。
303 リクエストに対する情報が、別のWebページに存在している状態です。ほかのURLで取得するように、誘導される際に用いられます。
304 リクエスト先が更新していない状態で、キャッシュ済みのレスポンスを使用し続けます。
305 リクエスト先に制限がかかっている状態です。このコードでは、プロキシの使用が必要とされます。
307 リクエスト先のURLが、一時的に変更している状態で、新しいページに遷移されます。302との違いは、ユーザーエージェントは使用するhttp メソッドを変更してはならない点です。
308 リクエスト先のURLが変更されており、新しいURLに遷移されます。301と同様に恒久的な状態を意味しますが、ユーザーエージェントは使用するhttp メソッドを変更してはならない点が異なります。

http400番台クライアントエラー

400番台のクライアントエラーは、リクエストを処理できず、エラーが発生している様子を意味します。Webページが存在していない場合に用いられるコードです。

コード 概要
400 無効な内容のため、サーバーがリクエストを理解していないことを示します。
401 リクエストに対応するために、認証資格を要求している状態です。ユーザーが認証資格を持っていない場合、接続できません。
403 ユーザーが、リクエスト先へのアクセス権を持っていない状態です。特定ユーザーのみ閲覧許可をしている際に表示されます。
404 リクエスト先のページが見つからない状態です。「指定されたページは存在しません」のエラーメッセージが表示されます。
405 サーバーがリクエストメソッドを理解しているものの、無効にされているため使用できない状態です。
406 ユーザーエージェントから与えられた条件に合うコンテンツが見つからない状態を指します。
407 プロキシの認証が必要な場合に表示されます。
408 リクエストが時間内に完了せず、タイムアウトになってしまった状態です。
409 リクエスト先のリソースと矛盾するため、完了できない状態です。
410 リクエスト先のページが、完全に消えてしまった状態に表示されます。
411 リクエストに対して、Content-Length ヘッダー項目がないため、アクセスが拒否されている状態です。
412 リクエストもとのヘッダーにある前提条件が、サーバーに適合できずに処理されていない状態です。
413 リクエスト先のページ量が膨大すぎるため、サーバー側で処理できないことを意味します。
414 リクエスト先のURLが長すぎるため、サーバーにて処理できない状態です。
415 リクエストされたデータのメディア形式が、サーバーに対応していないことを示します。
416 リソースサイズを超えており、リクエスト先を表示できない状態です。
417 Expectリクエストヘッダーで指定された内容が、サーバー側と適合していない状態です。
421 リクエストが、レスポンスを生成できないサーバーに送られていることを示します。
422 リクエストが適正であるものの、意味を誤っているため表示できない状態です。

http500番台サーバーエラー

Webサーバーにトラブルが発生し、Webページが表示できない状態です。メンテンナンスや、一時的なアクセス集中なども含まれています。

コード 概要
500 サーバー内で処理方法がわからない事象が発生し、エラーになっていることを示します。
501 メソッドが、現サーバーに対応していない状態です。
502 処理に必要なレスポンスを受け取るゲートウェイとして動作するサーバーが、不正なレスポンスを受け取ったことを意味します。
503 リクエスト先が、一時的にアクセス集中やメンテナンスなどで利用できない状態です。
504 時間内にゲートウェイとするサーバーがレスポンスを得られなかった際に表示されます。
505 サーバーが対応していないhttpのバージョンを使用している状態です。

400番台の主要なhttpステータスコードへの対処方法

ここでは、主要な400番台のhttpステータスコードに対する対処法をご紹介します。

・HTTP 400 Bad Request
・HTTP 401 Unauthorized
・HTTP 403 Forbidden
・HTTP 404 Not Found
・HTTP 405 Method Not Allowed

HTTP 400 Bad Request

HTTP 400 Bad Requestが表示される原因はブラウザか端末にあります。そのため、ブラウザや端末の変更、もしくはキャッシュやcookieを一度消すと直るケースがほとんどです。いずれによっても解決しない場合はウイルスに感染している可能性があるため、ウイルススキャンソフトなどを用いて検査してみると良いでしょう。

HTTP 401 Unauthorized

HTTP 401 UnauthorizedはIDかパスワードが間違っていることが原因で表示されます。まずは、正確なIDやパスワードかどうか確認し、再度入力してみましょう。正しいものを入力しても解決しない場合はサーバー側のエラーの可能性も。復旧まで待ちましょう。以前は、会員向けWebサイトページでページが作成されていないときに表示されることもありましたが、現在は少なくなっているようです。

HTTP 403 Forbidden

HTTP 403 Forbiddenは管理者によるアクセス権限設定やサーバーの設定ミス、プログラムの設置ミスなどが原因となって発生します。そのため、自力での解決は難しく、管理者に報告して対応を待つのが良いでしょう。

HTTP 404 Not Found

HTTP 404 Not Foundは、URLに関連するミスが原因で表示されるエラーコードです。そのため、正しいURLにすることで解消できます。URLのスペルやリダイレクトの設定を確認し、ミスがないか確認してみましょう。

HTTP 405 Method Not Allowed

HTTP 405 Method Not Allowedは許可されていないメソッドでのアクセスが原因で表示されます。まずは、コードをチェックして不具合を探してみましょう。Webサイトのコードに誤りがあると、サーバーがコンテンツ配信ネットワークからのアクセス要求に正しく応答できない場合があるためです。それでも解決しない場合は、サーバー側のログやファイルを確認してエラーの原因を探し出しましょう。

500番台の主要なhttpステータスコードへの対処方法

ここでは、主要な500番台のhttpステータスコードに対する対処法を解説します。

・HTTP 502 Bad Gateway
・HTTP 503 Service Unavailable
・HTTP 504 Gateway Timeout

HTTP 502 Bad Gateway

HTTP 502 Bad Gatewayは、システムに対する負荷や通信状態における問題が原因で表示されます。ユーザー側では解決が難しいため、webサイト側の対応を待ちましょう。

HTTP 503 Service Unavailable

HTTP 503 Service Unavailableはサーバーにアクセスできず、アクセス転送量やアクセス集中、CGIプログラムの誤作動が原因で、一時的にサービス利用不可の状態の時に表示されるエラーコードです。まずは、サーバーの再起動やウェブサーバーがメンテナンス中でないか確認するところから試してみましょう。解決しない場合には、問題のあるファイアウォール設定の修正やサーバー側のログの確認、ウェブサイトのコード上のバグの有無をチェックします。

HTTP 504 Gateway Timeout

HTTP 504 Gateway Timeout は、システムのゲートウェイやプロキシに負荷が原因でエラーコードが表示されます。タイムアウトなどのエラーを表示している。サーバーやプロキシのタイムアウトになるまでの時間を延長するのが一般的な対処法です。まずはサーバーのタイムアウトまでの時間を延長し、解決しない場合にはプロキシの設定も変更しましょう。

httpリクエストとレスポンスとは

httpリクエストとは、サーバーに対して、「GET」や「LOST」などのhttpメソッドでデータを送信し要求することです。一方で、httpレスポンスはそのリクエストに対するサーバー側からの応答を指します。これらが行われるのが、HTTP通信を行う際です。HTTP通信は、サーバーにリクエストを1つ送信し、送ったものに対してサーバーがレスポンスを1つ返信する形でやり取りされます。そのリクエストがhttpリクエストであり、応答がhttpレスポンスです。

Webサイトにおけるhttpステータスコードの確認方法

httpステータスコードは、デベロッパーツール(開発者モード)で確認することができます。Google Chrome・Microsoft Edge・FireFoxといったブラウザごとに確認方法が異なるため、調べる前にチェックしておきましょう。

Google chromeの場合

  内容
Step.1 ステータスコードを確認したいWebサイトを開く
Step.2 右上のメニューを開く
Step.3 その他のツールを押す
Step.4 デベロッパーツールを選択し、起動
Step.5 Networkタブを選択
Step.6 F5(MacBookの場合、Command+r)を押して、更新する

Microsoft Edgeの場合

  内容
Step.1 ステータスコードを確認したいWebサイトを開く
Step.2 Web ページ上の任意の要素にカーソルをあわせる
Step.3 F12で開発者モードを開く
Step.4 ネットワークを選択
Step.5 Ctrl+r(Command+r)を押して、更新する

FireFoxの場合

  内容
Step.1 ステータスコードを確認したいWebサイトを開く
Step.2 Web ページ上の任意の要素にカーソルをあわせる
Step.3 F12で開発者モードを開く
Step.4 ネットワークを選択
Step.5 Ctrl+r(Command+r)を押して、更新する

SEOでなぜhttpステータスコードを意識するのか

httpステータスコードの設定によってはサイトの評価が変動するため、SEOの観点においても意識する必要があります。
具体的には、表示可能なページが存在しないのにインデックスされてしまっているソフト404のようなケースです。ソフト404の場合、存在しないページまでインデックスしてしまっているため、クロールしてほしいページのクロールが遅れる可能性があります。また、「中身のないコンテンツを作成している」と判定を受けサイト評価が下がってしまうこともあるでしょう。
Google検索で上位表示化を目指す場合、サイトの質や安全性も評価の対象です。httpステータスコードを正しく設定するようにしましょう。

httpステータスコードの知識を深めて、サイトの高評価に繋げよう

各httpステータスコードの概要についてご紹介しました。数値ごとに意味が異なり、Webページを適切に表示するために欠かせないコードです。また、ユーザー側で、どのようなレスポンスであるのかを調べることもできます。
サイトの評価を下げないためにも、それぞれのhttpステータスコードについて理解しましょう。