【よく見るものを解説】HTTPステータスコードとは?コード番号別に詳しく解説

【よく見るものを解説】HTTPステータスコードとは?コード番号別に詳しく解説

HTTPステータスコードとは、ウェブサイトにアクセスしたとき、正常な画面ではない場合に表示される3桁の数字のことです。

ウェブサイトにアクセスしたときに「404」や「503」といった数字が表示された経験はないでしょうか。HTTPステータスコードはたくさんの種類があり、それぞれ意味する内容が異なります。

そこで本記事では、それぞれのステータスコードが持つ意味や対処法、HTTPステータスコードの確認方法を解説します。

HTTPステータスコードについて知ることで、アクセスしたウェブサイトに何が起きているのかを理解できるようになるので、ぜひご参考にしてください。

この記事のポイント

  • HTTPステータスコードは、特定の HTTP リクエストが正常に完了したかどうかを示す3桁の数値で表されるもの
  • 大まかに200番台の成功レスポンス、300番台のリダイレクト、400番台のクライアントエラー、500番台のサーバエラーと覚えておきましょう
  • 同じ番台でも、500 Internal Server Error、503 Service Unavailableなどそれぞれ意味が異なる

\最新Webマーケ情報を配信!無料メルマガ登録はこちらから/

HTTPステータスコードとは

HTTPステータスコードとは、サーバの情報処理の結果を表すコードのことを指します。

HTTPステータスコード

ウェブサイトにアクセスした際に、表示されることがある「404」や「503」といった3桁の数字で構成され、番号によってそれぞれ意味が異なります。例えば、ページがなくなっていてアクセスできない場合は「404」、サービスメンテナンス中などは「503」が表示されるなどです。

コードの番号によってどんな問題が起こっているのかがわかるため、ウェブサイトを運営・運用している方は、よく表示されるものだけでも覚えておくと良いでしょう。

HTTP ステータスコードの分類(一覧)

前述したように、HTTPステータスコードはそれぞれ番号によって意味が違います。

詳しい内訳を紹介すると以下のとおりです。

HTTPステータスコード番号 コードの内容
100~ 情報レスポンス
200~ 成功レスポンス
300~ リダイレクション
400~ クライアントエラー
500~ サーバーエラー

上記のように、何番台かで起こっている問題がわかります。ステータスコードの種類は数多くあるため、何番台がどういった問題のコードなのかだけでも覚えておくとエラーが出た際に慌てずに対処しやすいです。

HTTPステータスコード100番台 情報レスポンス

HTTPステータスコード100番台は、リクエストが「処理中」であることを意味するステータスコードです。

HTTPステータスコード

リクエストそのものは拒否されていませんが、クライアント(リクエストする側)はWebサーバの要求に従って対処する必要があります。

100番台のステータスコードには、以下の種類があります。

HTTPステータスコード詳細 意味
100 Continue リクエスト継続中
101 Switching Protocols プロトコルの切り替え
102 Processing 処理中
103 Early Hints 早期のヒント

「リクエスト継続中」を意味する「100 Continue」や、「プロトコルの切り替え」を意味する「101 Switching Protocols」、「処理中」を意味する「102 Processing」などがあります。とはいえ、100番台のステータスコードは一般的にほとんど見かけることはないでしょう。

HTTPステータスコード200番台 成功レスポンス

HTTPステータスコード200番台は、クライアントからのリクエストが正常に受付されたことを示すステータスコードです。

HTTPステータスコード

100番台のステータスコードより多く、以下のコードがあります。

HTTPステータスコード詳細 意味
200 OK リクエスト成功
201 Created 新たに作成されたリソースのURIが返される
202 Accepted リクエストが受理されたが、処理が完了していない
203 Non-Authoritative Information 信頼できない情報
204 No Content リクエストが受理されたが、返すべきレスポンスエンティティの存在がない
205 Reset Content 内容のリセットやリフレッシュ
206 Partial Content 一部リクエストを受理
207 Multi-Status 複数のステータスが存在する(WebDAVの拡張ステータスコード)
208 Already Reported すでに報告済み(WebDAVの拡張ステータスコード)
226 IM Used IMを使用している(Delta encoding in HTTPの拡張ステータスコード)

多数の200番台ステータスコードが存在しますが、代表的なものは「200 OK」です。「200 OK」は、リクエストは成功しており、要求通りの情報がレスポンスされている状態です。

HTTPステータスコード

つまり、「正常にWebサイトが表示された」状態を示し、私たちがWebサイトを見ているときの多くが「200 OK」だといえます。

HTTPステータスコード300番台 リダイレクション

HTTPステータスコード300番台は、「リダイレクト」が発生した際に表示されるステータスコードです。

HTTPステータスコード

100番台のステータスコードより多く、以下のコードがあります。

300番台のステータスコードの種類は、以下のとおりです。

HTTPステータスコード詳細 意味
300 Multiple Choices リクエストが複数存在する
301 Moved Permanently ウェブサイトが恒久的に移転している
302 Found ウェブサイトが一時的に移動している
303 See Other 他のページを参照
304 Not Modified リクエストしたリソースが更新されていない
305 Use Proxy プロキシを使用してリクエストを行わなければいけない
306 (Unused) 将来のために予約されている、現在は使われていない
307 Temporary Redirect 一時的なリダイレクト
308 Permanent Redirect 恒久的なリダイレクト

リダイレクトとは、ウェブサイトが移転した場合に、古いサイトへアクセスした際、自動的に新しいサイトへと遷移する仕組みのことです。厳密にいえば、「リダイレクトを達成するためにブラウザ側で追加の処理を実行する必要がある」ことを意味しています。

リダイレクトについては、以下の記事にて詳しく解説しています。リダイレクトする意味や効果について知りたい方は、必見です!

301 Moved Permanently

301 Moved Permanentlyとは、「恒久的に移動した」ことを表すステータスコードです。

301はウェブサイトが移転し、新サイトにリダイレクトされた場合などに用いられます。

HTTPステータスコード

また、URLの末尾に「/」をつけずにアクセスした場合も、自動的に「/」がついたサイトへ遷移するため「301 Moved Permanently」となることがあります。

リダイレクトをする方法は複数あり、301リダイレクトは代表的なリダイレクト方法です。301リダイレクトの特徴などについては、以下の記事にて解説していますのでご参照ください。

302 Found

302 Foundとは、「発見」を意味するステータスコードです。

リクエストした先のページが一時的に移動されている場合に用いられます。「301 Moved Permanently」との違いは、恒久的か一時的かという点です。

HTTPステータスコード

例えば、サイトメンテナンスで一時的にサイトを別の場所に移動しており、メンテナンス終了後にまた元の場所に戻す場合などが当てはまります。302リダイレクトの詳細については下記の記事にてまとめていますので、ご参考にしてください。

304 Not Modified

304 Not Modifiedとは、「未更新」を表します。

これはリダイレクトではありませんが、補足的に説明をしておきます。正常にWebページが見られているときの多くは200ステータスが返ってきているのですが、実際には304ステータスのコンテンツが混ざっていることもあります。

HTTPステータスコード

この際、ウェブサーバからはメッセージボディ、つまりコンテンツが返ってきません。ブラウザ側では304を受け取ると、ブラウザ内のキャッシュに残っているコンテンツを使ってウェブページを表示しています。

画像などコンテンツ内容が基本的に変わることがないコンテンツは、304を返すように設定することで、再度リソースを読み込む必要なく、キャッシュを用いることでページを表示させられます。

307 Temporary Redirect

307 Temporary Redirectとは、「一時的なリダイレクト」を意味するステータスコードです。

あまり見ることはありませんが、リクエストしたリソースが一時的に移動されている場合に用いられます。元々、このステータスコードは「302 Moved Temporarily」であり、302番で使われていたのですが、規格外の使用が目立つようになったため、改めて「307 Temporary Redirect」として定義されました。

ステータスコード307でリダイレクトされているのを見ると、正常でないと感じる方もいらっしゃるかもしれませんが、301リダイレクトとして処理されていますので、過度に心配しなくても大丈夫です。

HTTPステータスコード400番台 クライアントエラー

HTTPステータスコード400番台は、「クライアントエラー」が出たときに表示されるステータスコードです。

HTTPステータスコード

100番台のステータスコードより多く、以下のコードがあります。

400番台のステータスコードとそれぞれの意味は、以下のとおりです。

ステータスコード 意味
400 Bad Request リクエストが不正
401 Unauthorized 認証が必要
402 Payment Required 支払いが必要
403 Forbidden アクセス拒否、アクセス禁が禁止されている
404 Not Found 未検出、ページが見つからなかった
405 Method Not Allowed 許可されていないメソッド
406 Not Acceptable 受理ができない
407 Proxy Authentication Required プロキシの認証が必要
408 Request Timeout タイムアウト、時間内にリクエストが完了できなかった
409 Conflict リソースと競合するので完了できない
410 Gone 移動または消滅した
411 Length Required Content-Length ヘッダーのないリクエストの受け入れを拒否
412 Precondition Failed 前提条件が間違っている
413 Payload Too Large ペイロードが大きすぎる、サーバーの許容範囲を超えている
414 URI Too Long URIが大きすぎる
415 Unsupported Media Type メディアタイプがサーバーでサポートしていないもの
416 Range Not Satisfiable リソースを超えるデータを要求してしまっている
417 Expectation Failed Expectヘッダによる拡張ができない
421 Misdirected Request 間違ったリクエスト
422 Unprocessable Entity 処理ができないエンティティ
422 Unprocessable Entity 処理ができないエンティティ
423 Locked リクエストがロックされている
424 Failed Dependency 依存関係で失敗した(WebDAVの拡張ステータスコード)
425 Too Early Early dataを受け入れない
426 Upgrade Required アップグレードの要求
428 Precondition Required 事前条件が必要、条件付きリクエストでなければいけない
429 Too Many Requests 要求が多く、サーバーが処理を拒否している
431 Request Header Fields Too Large リクエストヘッダーフィールドが大きすぎるので、サーバーが処理を拒否している
451 Unavailable For Legal Reasons 法的理由により利用できない

400番台のステータスコードは非常に多いため、「403 Forbidden」「404 Not Found」「410 Gone」の代表的な3つのコードに絞って、それぞれ詳しく紹介します。

403 Forbidden

403 Forbiddenとは、「禁止されている」ことを表すステータスコードです。

リクエストはしたものの拒否されたり、処理できなかったりした場合に用いられます。例えば、社内のイントラネットからしかアクセスできないURLに、社外からアクセスした場合などに表示されます。

「403 Forbidden」が表示されたら、アクセス権の有無などを確認してみましょう。

404 Not Found

404 Not Foundとは、「リクエストしたウェブサイトが見つからない」場合に表示されるステータスコードです。

多くの人が一度は見たことのある表示でしょう。Webサイトが閉鎖されている場合や、Webサイト内の特定のページが消えている場合にアクセスすると「404 Not Found」と表示されます。

HTTPステータスコード

その際、そのまま「404」と表示すると、ユーザーが離脱してしまう可能性が高くなるため、カスタム404ページという、他のページへの導線を設けたページを表示させることが多いです。

【参考】ソフト404エラー

ソフト404エラーとは、ブラウザ上では「ページが存在しない」ことを表すメッセージが表示されているものの、ステータスコードは「正常にレスポンスしている」という意味の「200OK」を返しているケースを「ソフト404エラー」と呼びます。

HTTPステータスコード

410 Gone

410 Goneとは、「消滅した」を意味するステータスコードです。

「404 Not Found」と同様にウェブサイトが見つからない場合に表示されます。「404 Not Found」との違いは、「ページが消滅しており二度と復活しない」を意味しているということです。

HTTPステータスコード

「410 Gone」は特別に設定しないと表示されず、通常は「404 Not Found」が使われます。

\SEOの疑問がある場合は、ぜひご相談ください!/

HTTPステータスコード500番台 サーバーエラー

500番台のステータスコードも400番台と同じくエラーコードとなります。

HTTPステータスコード

100番台のステータスコードより多く、以下のコードがあります。400番台と異なるのは、ウェブサーバ側にエラーの原因があることです。ウェブサーバがリクエストの処理に失敗した場合などに表示されます。

500番台のステータスコードの詳細は、以下のとおりです。

ステータスコード 意味
500 Internal Server Error サーバ内部のエラー
501 Not Implemented 実装されていないメソッドを使用した
502 Bad Gateway 不正なゲートウェイ
503 Service Unavailable サービスの利用ができない、過負荷やメンテナンス中で一時的に利用できない
504 Gateway Timeout ゲートウェイタイムアウト、サーバからレスポンスがなくタイムアウトした
505 HTTP Version Not Supported リクエストがサポートされていないHTTPバージョン
506 Variant Also Negotiates Transparent Content Negotiation in HTTPで定義されている拡張ステータスコード
507 Insufficient Storage リクエストを処理するのに容量が足りない
508 Loop Detected ループを検出
510 Not Extended 拡張できない(An HTTP Extension Frameworkで定義されている拡張ステータスコード)
511 Network Authentication Required ネットワークに対する認証が必要

500番台のステータスコードで代表的なものは、「500 Internal Server Error」「503 Service Unavailabl」になります。

それぞれどういったステータスコードなのか詳しく見ていきましょう。

500 Internal Server Error

500 Internal Server Errorとは、「サーバ内部エラー」を意味するステータスコードです。

サーバの内部に何らかのエラーがあり、正常にリクエストを処理できずWebサイトを表示できない場合などに用いられます。

HTTPステータスコード

503 Service Unavailable

503 Service Unavailableとは、「サービス利用不可」を意味するステータスコードです。

ウェブサーバが過負荷状態に陥るなどして一時的にウェブサイトが表示できないときに用いられます。一気に大量のアクセスが集中すると発生するため、比較的見かけることの多いエラーコードです。

HTTPステータスコード

なお、サイトメンテナンスでサービスをストップさせている間には、「503 Service Unavailable」を返すことがGoogleから推奨されており、意図的に設置している場合は、不具合ではない場合もあります。

HTTPステータスコードが「0」と表示される場合

ここまで多くのHTTPステータスコードを紹介しましたが、それ以外にも度々「0」や「000」と表示されることがあるようです。

HTTPステータスコードには、「0」や「000」といったコードはありません。

「0」や「000」と表示されてしまった原因としては、以下が考えられるといわれています。

  • 「CakePHP」や「PHP」のNetWorkライブラリのバグである
  • ローカルファイルでHTMLファイルを開いて実行している
  • サーバーリクエストを送った際に落ちてしまっていた際の仕様である
  • 古いOperaのバージョンである
  • URL転送ライブラリのバージョンが古いためである
  • ブラウザーが認証処理できなかったためエラーとみなしたためである

それぞれ原因が異なりますが、下記の方法で解決できるようです。

  • コードの見直し、書き方を変更する
  • 使っているライブラリやブラウザーのアップデートする
  • ファイルを開きっぱなしで実行していないか確認する

ちょっとしたミスでエラーにつながる可能性があるため、「0」や「000」と表示されてしまった際は、ぜひ上記のような問題がないかチェックしてみてください。

HTTPステータスコードを確認する方法

ウェブサイトに問題が起こっていないか把握するためにも、HTTPステータスコードの確認方法も知っておくと便利です。

HTTPステータスコードを確認する方法は、簡単です。今回はChromeの場合を例に確認方法を紹介します。

  1. ブラウザーで確認したいWebサイトを開く
  2. F12キー、または「option+⌘+i」で開発者ツールを開く
  3. 「Network」を選択

すると、以下の赤枠の箇所でHTTPステータスコードが確認できます。

HTTPステータスコード

もし、表示されない場合は、そのままの状態で更新をしてみると表示されることがあるので試してみてください。

より深く知りたい人へ~HTTP レスポンスに関して

冒頭で解説した「HTTPレスポンス」の仕組みについて、もう少し詳しく説明します。

そもそも、“ウェブサイトにアクセスする”とはどういうことか考えてみましょう。私たちがPCやスマートフォンからウェブサイトにアクセスする場合、必ずモバイル回線やWi-Fiなどの通信が発生しています。

この通信を介して、ウェブサイトのファイルが存在するコンピュータ(ウェブサーバ)に「PC(スマホ)の画面にウェブサイトを表示してほしい」という「リクエスト」を送っているのです。

リクエストを受け取ったウェブサーバは、適切な「レスポンス」を返します。すなわち、「PC(スマホ)の画面にウェブサイトを表示してほしい」というリクエストに対して、「ウェブサイトのデータをPC(スマホ)に送る」というレスポンスを行うわけです。

HTTPステータスコード

私たちがインターネットを通じてウェブサイトにアクセスする場合、このように「リクエストし、レスポンスが返ってくる」というプロセスが裏で実行されています。

しかし、ごくまれに「リクエスト通りのレスポンスが返せないケース」が発生することがあります。例えば、アクセスしようとしたウェブサイトがすでに閉鎖されていて、ウェブサーバにファイルが存在しない場合です。

リクエストに対して正常に応えられないウェブサーバは、代わりに「リクエストに応えられない理由」をレスポンスします。これが「HTTPステータスコード」で表されているのです。

HTTPステータスコードの意味がわかると、エラーの原因を特定しやすい

HTTPステータスコードとは、ウェブサイトのデータをユーザーが「リクエスト」したのに対して、Webサーバ側の「レスポンス」として処理した際の結果です。

ステータスコードにはたくさんの種類があり、意味を知ることで「表示のルール」や「エラーの原因」を読み解けます。ウェブサイトを運営するのであればぜひ知っておきたい知識であり、ユーザーとしてウェブサイトを閲覧する際にも役立つことでしょう。

なおナイルでは、それぞれの企業の商品・サービスに合致した顧客を集客することを目的に、SEOコンサルティングを行っています。すべてSEO施策を依頼することだけではなく、自社でSEOを実施するインハウスSEOに向かうためのサポートも可能です。ぜひ一度、ご相談ください。

ナイルのSEOコンサルティングサービスはこちらで紹介しております!

関連記事

自然検索キーワードとは?

自然検索キーワードとは?調べ方や分析方法について解説

SEOに有利?不利?エンジニアが見るHTML5とSEO

外部リンクには漏れなく”nofollow”とか、いい加減やめませんか

新着記事

岸 穂太佳が執筆した『現場のプロが教える! BtoBマーケティングの基礎知識』発売中!

ecサイト

ECサイトとは?実際の運営ポイントまで解説

スラッグ

スラッグって何?WordPressでの設定方法と少しSEOに効くポイント