HTTPステータスコードとは?一覧で意味・原因・確認方法をわかりやすく解説

【PR】この記事には広告を含みます。
HTTPステータスコードとは?一覧で意味・原因・確認方法をわかり易く解説する画像

HTTPステータスコードとは、Webサイトやサーバーから返ってくる「処理結果の番号」です。 ページが正しく表示できたのか、エラーが起きたのかを、3けたの数字で表します。

この記事では、HTTPステータスコードの意味を説明したうえで、100番台から500番台までの一覧をわかりやすく整理します。 よく使う200、301、302、304、400、401、403、404、422、429、500、502、503、504の意味や原因、確認方法も解説します。

HTTPステータスコードは、Webサイト管理、システム開発、サーバー運用、SEOなどでよく使われます。 ただ、専門的な説明だけでは分かりにくいことも多いため、ここではできるだけやさしい言葉で説明します。

関連するIT用語をまとめて確認したい方は、IT用語一覧もあわせてご覧ください。

目次

HTTPステータスコードとは

HTTPステータスコードはWebサイトやサーバーが返す応答の番号であることを示した図

HTTPステータスコードとは、Webページを開いたときに、サーバーが返す結果の番号です。 サーバーとは、Webサイトのデータを保管し、見る人にページを届けるコンピューターのことです。

たとえば、ページを正しく返せたときは「200」が返ります。 ページが見つからないときは「404」、サーバー側で問題が起きたときは「500」が返ることがあります。

この番号は、ふだん画面に出ないこともあります。 正確に確認したいときは、ブラウザの開発者ツールやcurlコマンドを使います。

HTTPステータスコードは「Webサイトからの返事の番号」

HTTPステータスコードは、かんたんに言うと「Webサイトからの返事の番号」です。 見る人がページを開こうとすると、ブラウザがサーバーに「このページを見せてください」とお願いします。

そのお願いに対して、サーバーは「表示できます」「別の場所にあります」「見つかりません」などの返事をします。 その返事を数字で表したものが、HTTPステータスコードです。

身近な例で言うと、荷物の配達状況に近いです。 「配達完了」「住所が違う」「一時的に配達できない」のような状態を、Webサイトでは番号で表します。

HTTPステータスコード一覧

HTTPステータスコードを100番台から500番台まで5種類に分けて説明した図

HTTPステータスコードは、大きく5つの種類に分かれます。 まずは、100番台から500番台までの全体像を見てみましょう。

番号大まかな意味よく見るコードかんたんな見方
100番台処理を続けている100、101途中経過を知らせる番号
200番台成功した200、201、204、206問題なく処理できた番号
300番台別の場所へ案内している301、302、304、307URLの移動や保存済みデータに関係する番号
400番台リクエスト側に問題がある400、401、403、404、408、422、429URL、ログイン、権限、入力内容などに関係する番号
500番台サーバー側に問題がある500、502、503、504サーバーやシステム側の問題に関係する番号

よく見るエラーは、400番台と500番台です。 400番台は「リクエスト側に問題がある場合」、500番台は「サーバー側で問題が起きている場合」と考えると分かりやすいです。

リクエストとは、ブラウザやアプリからサーバーへ送るお願いのことです。 たとえば「このページを見せてください」というお願いも、リクエストの一つです。

100番台のHTTPステータスコード一覧

100番台は、処理の途中経過を表す番号です。 一般の画面で見る機会は多くありません。

コード名前意味よくある場面
100Continueそのまま処理を続けてよい大きなデータを送る前の確認
101Switching Protocols通信の方法を切り替える特殊な通信方式へ切り替えるとき

100番台は、初心者が深く覚える必要はありません。 「処理の途中で使われる番号」と理解しておけば十分です。

200番台のHTTPステータスコード一覧

200番台は、処理が成功したことを表します。 Webページが普通に表示されているときは、多くの場合「200」が返っています。

コード名前意味よくある場面
200OK正常に処理できたページが正しく表示されたとき
201Created新しいデータを作成できたアプリで新しいデータを作ったとき
202Accepted処理の受け付けはできた時間がかかる処理を受け付けたとき
204No Content処理は成功したが返す内容はない削除や保存のあと、表示する内容がないとき
206Partial Contentデータの一部だけを返している動画や大きなファイルの一部を読み込むとき

200 OK:正常に表示できた

200は、Webページや画像などを正しく返せたときのコードです。 ページが問題なく開けているときは、多くの場合この状態です。

SEOでは、公開しているページが200で返っているかが大切です。 読者に見せたいページが200で返っていれば、検索エンジンにもページを伝えやすくなります。

201 Created:新しく作成できた

201は、新しいデータを作成できたときに返るコードです。 たとえば、アプリでのアカウント作成や、Webサービスの裏側で新しいデータが作られた場合に使われます。

通常のWebページを見るだけでは、あまり意識しないコードです。 システム同士がやり取りするAPIで使われることがあります。

APIとは、アプリやシステム同士が情報をやり取りするための入り口のようなものです。 「システム同士の連絡口」と考えると分かりやすいです。

204 No Content:成功したが返す内容がない

204は、処理は成功したものの、返す内容がない場合のコードです。 エラーではありません。

たとえば、削除処理や保存処理が成功したあとに、画面へ返す内容がない場合に使われます。 「何も表示されないけれど、処理は終わっている」と考えると分かりやすいです。

300番台のHTTPステータスコード一覧

300番台は、別のURLへ案内することを表します。 このような案内をリダイレクトといいます。

リダイレクトとは、古いURLに来た人を、新しいURLへ自動で案内する仕組みです。 ページのURLを変えたときや、サイトの引っ越しをしたときによく使います。

コード名前意味よくある場面
301Moved Permanentlyページが完全に移動したURLを恒久的に変更したとき
302Found一時的に別の場所へ案内している一時的に別URLへ移動させたいとき
304Not Modified前に保存した内容を使えるブラウザの保存済みデータを使うとき
307Temporary Redirect一時的に別の場所へ案内している一時的なリダイレクトをするとき

301 Moved Permanently:ページが完全に移動した

301は、ページが完全に別のURLへ移動したことを表します。 古いURLに来た人を、新しいURLへ案内するときに使います。

「このページは今後ずっと新しい場所にあります」という案内です。 記事のURL変更やサイトの引っ越しなど、長く使う移動先がある場合に使います。

SEOでは、301はとても重要です。 古いURLから新しいURLへ正しく301を設定すると、読者も検索エンジンも新しいページを見つけやすくなります。

302 Found:一時的に別の場所へ案内している

302は、一時的に別のURLへ案内していることを表します。 ページを短い期間だけ別の場所で見せたいときに使われます。

301は「ずっと移動」、302は「一時的に移動」です。 サイトの引っ越しや記事URLの変更など、今後も新しいURLを使う場合は301を使うのが基本です。

302でも、長期間使い続けると、検索エンジンが移動先を重要なページとして扱うことがあります。 ただし、古いURLが検索結果に残ったり、検索エンジンが判断するまでに時間がかかったりすることがあります。

そのため、最初から「ずっと移動する」と分かっている場合は301を使うのが安全です。 一時的な案内だけなら302を使います。

304 Not Modified:前に保存した内容を使える

304は、前に読み込んだ内容から変わっていないことを表します。 ブラウザに保存されているデータを使える場合に返ることがあります。

ブラウザとは、ChromeやEdge、SafariのようにWebページを見るためのアプリです。 ブラウザは、一度見た画像やデータを保存しておくことがあります。

304により、毎回すべてのデータを読み込まなくても済みます。 そのため、ページ表示を速くする助けになります。

400番台のHTTPステータスコード一覧

400番台は、リクエスト側に問題があるときに返るコードです。 リクエストとは、ブラウザやアプリからサーバーへ送るお願いのことです。

ただし、見る人だけが悪いという意味ではありません。 URLの設定、ログイン状態、権限、Cookie、Webサイト側の作り方が関係する場合もあります。

Cookieとは、Webサイトがブラウザに保存する小さな情報です。 ログイン状態や表示設定などを覚えておくために使われます。

コード名前意味よくある原因
400Bad Request送った内容が正しくないURLの形、入力内容、Cookieの不具合
401Unauthorizedログインや認証が必要未ログイン、ログインの期限切れ
403Forbidden見る権限がないアクセス権限なし、制限されたページ
404Not Foundページが見つからないURLミス、ページ削除、ページ移動
405Method Not Allowedその操作方法が許可されていない送信方法がページ側の想定と違う
408Request Timeout返事を待つ時間を過ぎた通信が不安定、処理に時間がかかりすぎた
409Conflict処理の内容がほかの状態とぶつかっている同じデータの同時更新など
422Unprocessable Content形式は正しいが、中身のルールに合わず処理できない入力ルールに合わないデータ
429Too Many Requestsアクセスが多すぎる短い時間に何度もアクセスした

よく見る400番台のHTTPステータスコードの意味と原因

400 Bad Request:送った内容が正しくない

400は、ブラウザやアプリから送った内容を、サーバーが正しく受け取れないときに返されるコードです。 「Bad Request」は「よくないリクエスト」という意味です。

よくある原因は、URLの入力ミス、入力内容の不備、必要な情報の不足などです。 また、ブラウザにたまった特定サイトのCookieが古くなったり、大きくなりすぎたりして、400になることもあります。

400が出たときは、まずURLの入力ミスがないか確認します。 それでも直らない場合は、再読み込み、シークレットモードでの確認、Cookieの削除を試すと解消することがあります。

シークレットモードとは、Cookieなどの保存済みデータの影響を受けにくい状態でページを開く機能です。 原因の切り分けに役立ちます。

401 Unauthorized:ログインや認証が必要

401は、そのページや機能を使うには、ログインや認証が必要という意味です。 認証とは、本人かどうかを確認することです。

たとえば、会員ページを見ようとしたときに、まだログインしていない場合に出ることがあります。 ログインの有効期限が切れている場合にも、401になることがあります。

401は「まだ本人確認ができていない」状態です。 もう一度ログインすると、解消する場合があります。

403 Forbidden:見る権限がない

403は、サーバーにはアクセスできているものの、そのページを見る許可がないという意味です。 「Forbidden」は「禁止されている」という意味です。

たとえば、管理者だけが見られるページを一般ユーザーが開こうとした場合に出ることがあります。 ログインしていても、権限が足りない場合は403になることがあります。

401は「本人確認が必要」、403は「本人確認しても見る許可がない」と考えると分かりやすいです。 Webサイトの管理者は、権限設定やアクセス制限を確認します。

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

404は、指定したページが見つからないという意味です。 URLの入力ミス、ページの削除、ページの移動などで表示されることがあります。

404が出ても、Webサイト全体が故障しているとは限りません。 そのページだけが見つからない、という場合が多いです。

Webサイトを運営している場合は、存在しないURLに読者が来ていないか確認します。 本当に移動先がある場合は、関連する新しいページへリダイレクトを設定します。

ただし、すべての404ページを無理にトップページへ移動させる必要はありません。 代わりになるページがない場合は、404のままにしておくほうが自然です。

完全に削除したページで、今後も戻す予定がない場合は、410を使うこともあります。 410は「このページはなくなった」と伝えるためのコードです。

408 Request Timeout:返事を待つ時間を過ぎた

408は、サーバーがリクエストを待っている間に、時間切れになったことを表します。 「Timeout」は「時間切れ」という意味です。

通信が不安定なときや、処理に時間がかかりすぎたときに出ることがあります。 少し時間をおいて再読み込みすると、表示できる場合もあります。

422 Unprocessable Content:中身のルールに合わず処理できない

422は、送られた内容の形は読み取れるものの、中身のルールに合わず処理できない場合に返るコードです。 入力フォームやAPIで見ることがあります。

たとえば、必須項目が空欄、メールアドレスの形が正しくない、数値を入れる場所に文字を入れた場合などです。 「形式は届いているが、中身の条件に合っていない」と考えると分かりやすいです。

429 Too Many Requests:アクセスが多すぎる

429は、短い時間にアクセスが多すぎるときに返されるコードです。 WebサイトやAPIを守るために、一時的にアクセスを止めている状態です。

たとえば、同じページを何度も更新した場合や、プログラムが短時間に何回もアクセスした場合に出ることがあります。 アクセス制限の仕組みによって返されることが多いです。

見る人の立場では、少し時間をおくと解消することがあります。 運営者の立場では、アクセス回数の上限や制限ルールを確認します。

500番台のHTTPステータスコード一覧

500番台は、サーバー側に問題があるときに返るコードです。 見る人のスマホやパソコンだけで直すのがむずかしい場合が多いです。

ただし、必ず大きな障害という意味ではありません。 アクセス集中やメンテナンスなど、一時的な理由で出ることもあります。

コード名前意味よくある原因
500Internal Server Errorサーバー内部でエラーが起きた設定ミス、プログラムの不具合、負荷
501Not Implementedサーバーが必要な機能に対応していないサーバーが処理方法を持っていない
502Bad Gateway中継先のサーバーから正しい返事がないサーバー同士のやり取りの失敗
503Service Unavailable一時的に利用できないメンテナンス、アクセス集中
504Gateway Timeout中継先のサーバーからの返事が時間切れサーバー同士の返事が遅い

よく見る500番台のHTTPステータスコードの意味と原因

500 Internal Server Error:サーバー内部でエラーが起きた

500は、サーバー側で何らかの問題が起きたときに返される代表的なコードです。 「Internal Server Error」は「サーバー内部のエラー」という意味です。

よくある原因は、プログラムの不具合、サーバーの設定ミス、アクセス集中などです。 見る人の操作だけで直せないことが多いコードです。

Webサイトを運営している場合は、サーバーのエラーログを確認します。 ログとは、サーバーやシステムで起きたことを記録したものです。

502 Bad Gateway:中継先のサーバーから正しい返事がない

502は、サーバー同士のやり取りで、正しい返事を受け取れなかったときに返されるコードです。 Webサイトの裏側では、複数のサーバーが連携して動いていることがあります。

ここでいう中継先とは、手前のサーバーから見た奥のサーバーやアプリのことです。 たとえば、負荷分散装置やプロキシサーバーが、奥のアプリから正しい返事を受け取れない場合に502になることがあります。

見る人からは、ただ「ページが開けない」ように見えます。 運営者側では、サーバー間の通信、設定、アプリの起動状態などを確認します。

503 Service Unavailable:一時的に利用できない

503は、Webサイトやサービスが一時的に利用できないという意味です。 メンテナンス中、アクセス集中、サーバーの処理待ちなどで出ることがあります。

「Service Unavailable」は「サービスを利用できない」という意味です。 ただし、ずっと使えないという意味ではありません。

サイトのメンテナンス時に503を正しく返すと、検索エンジンに「今は一時的に閉めているだけ」と伝えやすくなります。 メンテナンス中の画面を通常ページとして扱われにくくするためにも、503は大切です。

メンテナンスの終了予定が分かっている場合は、Retry-Afterという情報をあわせて返すことがあります。 これは「いつごろ再び確認してほしいか」を伝えるための目安です。

時間をおくと解消することもあります。 Webサイトの運営者は、メンテナンス中の案内として503を使うことがあります。

504 Gateway Timeout:中継先のサーバーからの返事が時間切れ

504は、サーバー同士のやり取りで、返事を待つ時間を過ぎたときに返されるコードです。 「返事が来る前に時間切れになった」と考えると分かりやすいです。

サーバーの処理が重い、別のサーバーの返事が遅い、通信が混み合っている場合などに出ることがあります。 502は「正しい返事がない」、504は「返事が遅くて時間切れ」という違いがあります。

HTTPステータスコード400番台と500番台の違い

HTTPステータスコード400番台と500番台の違いをリクエスト側とサーバー側で比較した図

HTTPステータスコードで迷いやすいのが、400番台と500番台の違いです。 どちらもエラーとして見られますが、問題が起きている場所が違います。

種類意味よくあるコード確認する場所
400番台リクエスト側に問題がある400、401、403、404、429ユーザーの操作、ブラウザのCookieやキャッシュ、URLの書き方
500番台サーバー側に問題がある500、502、503、504Webサーバーの設定、Webアプリケーションのログ、サーバー負荷

400番台は、送られたURLやログイン状態、アクセス権限などが関係することが多いです。 ブラウザのCookieやキャッシュが原因になることもあります。

500番台は、サーバー内部の処理やサーバー同士のやり取りが関係することが多いです。 Webサイトを運営している場合は、サーバー設定やアプリケーションのログを確認します。

ただし、初心者は「自分のせい」と決めつけなくて大丈夫です。 エラーコードは、原因を探すための手がかりとして使うものです。

HTTPステータスコードの確認方法

ブラウザの開発者ツールとcurlコマンドでHTTPステータスコードを確認する方法を示した図

HTTPステータスコードは、画面を見ただけでは分からないことがあります。 正確に確認したいときは、ブラウザの開発者ツールやcurlコマンドを使います。

ブラウザでHTTPステータスコードを確認する方法

Google ChromeやMicrosoft Edgeでは、開発者ツールを使うとHTTPステータスコードを確認できます。 開発者ツールとは、Webページの状態を調べるための機能です。

  1. 確認したいページを開く
  2. キーボードのF12キーを押す
  3. 「Network」または「ネットワーク」を開く
  4. ページを再読み込みする
  5. 「Status」または「ステータス」の数字を見る

ここに200、301、404、500などの数字が表示されます。 Webサイトを運営している人は、見せたいページが200で返っているか確認すると安心です。

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

curlとは、コマンドでWebサイトにアクセスして結果を確認できる道具です。 開発やサーバー管理でよく使われます。

HTTPステータスコードだけを確認したい場合は、次のように入力します。

curl -I https://example.com/

「HTTP/2 200」や「HTTP/1.1 301」のように表示されます。 この数字がHTTPステータスコードです。

初心者の場合は、まずブラウザの開発者ツールで確認できれば十分です。 curlは、コマンド操作に慣れてきたら使うとよいでしょう。

HTTPステータスコード0・000とは

HTTPステータスコード0や000は、標準的なHTTPステータスコードではありません。 アプリ、ツール、通信環境などが独自に表示している場合があります。

たとえば、サーバーから返事を受け取る前に通信が止まった場合や、接続に失敗した場合に、0や000のように表示されることがあります。 つまり、サーバーが正式に「0」と返しているとは限りません。

この場合は、URL、ネットワーク、証明書、サーバーの起動状態などを確認します。 証明書とは、通信相手が正しい相手かを確認するためのデータです。

HTTPステータスコードでよくある勘違い

404はWebサイト全体の故障とは限らない

404は、指定したページが見つからないという意味です。 Webサイト全体が壊れているとは限りません。

トップページは見られるのに、特定の記事だけ404になることもあります。 この場合は、その記事のURLや公開状態を確認します。

404をすべてトップページへ転送する必要はない

404が出ると、すべてトップページへリダイレクトしたくなるかもしれません。 しかし、関係のないページへ無理に移動させると、読者も検索エンジンも内容を理解しにくくなります。

代わりになるページがある場合だけ、関連するページへリダイレクトします。 代わりがない場合は、404のままにしておくほうが自然です。

500番台は見る人の操作だけで直せないことが多い

500番台は、サーバー側の問題を表すコードです。 見る人が再読み込みしても、すぐには直らない場合があります。

ただし、一時的なアクセス集中であれば、時間をおくと表示できることもあります。 何度も出る場合は、運営者側での確認が必要です。

HTTPステータスコードは画面に出ないこともある

HTTPステータスコードは、必ず画面に大きく表示されるわけではありません。 裏側では200や301などが返っていても、読者には普通のページに見えることがあります。

そのため、正確に知りたいときは開発者ツールやcurlで確認します。 SEOやサイト改善では、見た目だけでなくステータスコードも確認することが大切です。

HTTPステータスコードに関するよくある質問

HTTPステータスコード200はエラーですか?

200はエラーではありません。 ページやデータを正しく返せたという意味です。

Webサイトで公開している通常のページは、基本的に200で返るのが自然です。 見せたいページが200で返っているかは、SEOでも大切です。

HTTPステータスコード301と302の違いは何ですか?

301は、ページが完全に移動したときに使います。 302は、一時的に別の場所へ案内するときに使います。

長く使う新しいURLへ移動するなら301です。 一時的な案内なら302です。

HTTPステータスコード400と404の違いは何ですか?

400は、送った内容やURLの形が正しくないときに返るコードです。 404は、指定したページが見つからないときに返るコードです。

400は「お願いの形がよくない」、404は「探したページがない」と考えると分かりやすいです。

HTTPステータスコード401と403の違いは何ですか?

401は、ログインや認証が必要な状態です。 403は、認証していても見る権限がない状態です。

401は「本人確認がまだできていない」状態です。 403は「本人確認をしても、このページは見せられない」状態です。

HTTPステータスコード500と503の違いは何ですか?

500は、サーバー内部で何らかのエラーが起きたときに返るコードです。 503は、サービスが一時的に利用できないときに返るコードです。

503は、メンテナンス中やアクセス集中などで使われることがあります。 どちらも見る人の操作だけでは直しにくいことが多いです。

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

ブラウザの開発者ツールで確認できます。 ChromeやEdgeでは、F12キーを押して「Network」または「ネットワーク」を開くと確認できます。

コマンド操作に慣れている人は、curlでも確認できます。 たとえば「curl -I URL」と入力すると、HTTPステータスコードを確認できます。

まとめ:HTTPステータスコードとはWebサイトの状態を表す番号

HTTPステータスコードとは、Webサイトやサーバーから返ってくる処理結果の番号です。 100番台は途中経過、200番台は成功、300番台は別の場所への案内、400番台はリクエスト側の問題、500番台はサーバー側の問題を表します。

HTTPステータスコード一覧でよく確認されるのは、200、301、302、304、400、401、403、404、422、429、500、502、503、504です。 これらの意味を知っておくと、Webサイトで何が起きているのかを落ち着いて確認できます。

すべての番号を暗記する必要はありません。 まずは「200は成功」「301は完全な移動」「404はページがない」「500番台はサーバー側の問題」と覚えておくと十分です。

よかったらシェアしてね!
  • URLをコピーしました!
目次