- 公開日: 最終更新日:
HTTPステータスコードとは?一覧で種類を解説
Webサイトを運営していると、HTTPステータスコードという言葉を目にすることがあります。これは、サーバーとブラウザの通信状況を示すコードで、サイトの表示やエラーの原因を知るために重要なものです。
本記事では、HTTPステータスコードの概要や種類を一覧で整理し、各コードの意味をわかりやすく解説します。また、HTTPステータスコードが0と表示される理由にも触れています。ホームページ制作やWebサイト管理に役立つ知識として、ぜひ参考にしてください。
目次
HTTPステータスコードとは
HTTPステータスコードとは、Webサーバーがブラウザや検索エンジンなどのクライアントに対して、リクエストの処理結果を伝えるための数値コードです。
HTTPステータスコードの意味を理解することで、Webサイトのトラブルを適切に対処しやすくなります。特に、ホームページリニューアルでは、HTTPステータスコードを確認し、リダイレクトの正しい設定や、エラーのない表示を維持することが、SEO対策やユーザーエクスペリエンスの向上に大きく関わります。
HTTPステータスコードを確認する方法
最も簡単なのは、ブラウザの開発者ツールを利用する方法です。Google Chromeの場合、ページ上で右クリックして検証を開き、Networkタブでステータスコードを確認できます。
また、HTTPステータスコードチェッカーなどの無料オンラインツールを使えば、URLを入力するだけで簡単に確認可能です。さらに、サーバーログを直接確認することで、過去のアクセス履歴やエラーの詳細を把握することもできます。
適切な方法でHTTPステータスコードを確認し、Webサイトの表示やエラー対応をスムーズに行いましょう。
HTTPステータスコード一覧
HTTPステータスコードは、Webサーバーがクライアントに対して、リクエストの処理結果を伝えるためのコードです。100番台・200番台・300番台・400番台・500番台に分類され、それぞれ異なる意味を持ちます。
以下の表では、各ステータスコードの分類ごとに概要を整理しています。Webサイトの運用やホームページ制作において、適切に対応できるよう参考にしてください。
ステータスコードの分類 | 概要 |
100番台 | 情報提供のコード。リクエストが受理され、処理が継続中であることを示す。 |
200番台 | リクエストが成功したことを示す。通常のページ表示やデータ取得時に返る。 |
300番台 | リダイレクトに関するコード。要求されたリソースの移動や変更を示す。 |
400番台 | クライアント側のエラーを示す。リクエストに問題がある場合に返される。 |
500番台 | サーバー側のエラーを示す。サーバーがリクエストを処理できない場合に発生。 |
各ステータスコードの詳細については、次の項目で詳しく解説します。特に、HTTPステータスコード200・404・302など、よく使われるコードの意味をしっかり把握しておきましょう。
HTTPステータスコード100番台(情報コード)
HTTPステータスコード100番台は、リクエストが受理され、処理が継続中であることを知らせる情報コードです。サーバーがリクエストを完全に処理する前に、クライアントへ進行状況を通知するために使用されます。
100 Continue | クライアントがリクエストを送信し、サーバーが受理したことを示します。クライアントはそのままリクエストを続行できます。 |
101 Switching Protocols | クライアントの要求に応じて、サーバーが通信プロトコルを変更することを通知しています。 |
102 Processing | WebDAV拡張で使用されるコードで、リクエストの処理に時間がかかる場合に返されます。 |
103 Early Hints | クライアントに対し、レスポンスの準備が整う前に、事前に参照すべきリソース情報を送るためのコードです。たとえば、ブラウザがCSSやJavaScriptを事前に取得できるようにすることで、ページ表示の速度向上に役立ちます。 |
100番台のステータスコードは、一般的なWebサイト運営ではほとんど目にすることはありません。主に、特定のプロトコル通信やAPIのやり取り、サーバーとの高度な制御の場面で使用されます。
HTTPステータスコード200番台(成功コード)
HTTPステータスコード200番台は、リクエストが正常に処理され、成功したことを示すコードです。Webページの表示やデータの取得が正しく行われた場合に返されるため、通常のサイト運営では最もよく見かけるステータスコードのカテゴリです。
200 OK | リクエストが正常に処理され、サーバーが適切なレスポンスを返したことを示します。Webページの表示やAPIレスポンスで最も一般的に使用されるコードです。 |
201 Created | 新しいリソースが作成されたことを示します。フォーム送信やAPIでのデータ登録時によく使われます。 |
202 Accepted | リクエストが受理されたが、処理がまだ完了していないことを示します。非同期処理が必要な場合に利用されます。 |
203 Non-Authoritative Information | プロキシサーバーが変更を加えたレスポンスを返した場合に使用されます。キャッシュやコンテンツ変換を行うプロキシ経由でリソースが取得された際に発生することがあります。 |
204 No Content | リクエストが成功したものの、レスポンスとして返すデータがない場合に使用されます。ページのリフレッシュや非同期処理のレスポンスとして使われることが多いです。 |
205 Reset Content | リクエストが成功し、クライアントに対してフォームや入力フィールドをリセットするよう指示する場合に使用されます。Webフォームの送信後にリセットさせる処理などで使われます。 |
206 Partial Content | クライアントがリソースの一部分だけを要求した場合に使用されます。例えば、大きなファイルを分割ダウンロードする際に、サーバーがリクエストされた範囲のデータのみ返す場合に利用されます。 |
HTTPステータスコード300番台(リダイレクトコード)
HTTPステータスコード300番台は、別のURLへ転送する際に使用されるリダイレクトコードです。ページのURLが変更された場合や、特定の条件下で異なるコンテンツを提供する場合に用いられます。
リダイレクトは、ホームページ制作やSEO対策において非常に重要で、適切に設定しないと検索順位が下がったり、ユーザーが正しいページにアクセスできなくなったりする可能性があります。
300 Multiple Choices | クライアントが複数の選択肢から適切なリソースを選ぶ必要があることを示します。通常のWebサイトではほとんど使われません。 |
301 Moved Permanently | URLが恒久的に変更された際に使用するリダイレクトです。旧URLにアクセスすると、新しいURLへ自動転送されます。SEOでは最も重要なリダイレクトであり、適切に設定することで検索エンジンが新しいURLを正しく認識し、評価を引き継ぎます。 → 301リダイレクトとは? |
302 Found | 一時的なURL変更を示すリダイレクトコードです。恒久的な変更ではなく、後で元のURLに戻す予定がある場合に使用します。ただし、Googleは302を301と同じように解釈するため、SEO目的では慎重に使う必要があります。 |
303 See Other | クライアントが異なるURLへアクセスするよう促すコードです。POSTリクエストの後にGETリクエストへ誘導する際などに利用されます。 |
304 Not Modified | クライアントがキャッシュしているデータが最新であることを示すコードです。ページの再取得を不要にし、サイトのパフォーマンス向上に貢献します。 |
307 Temporary Redirect | 302と似ていますが、リクエストメソッドを変更せずにリダイレクトする点が異なります。例えば、POSTリクエストをそのまま別のURLへ転送する場合に使用されます。 |
308 Permanent Redirect | 301と同様に恒久的なリダイレクトですが、リクエストメソッドを変更せずに転送する仕様になっています。301ではPOSTリクエストがGETに変わることがありますが、308では変更されません。 |
HTTPステータスコード400番台(クライアントエラーコード)
HTTPステータスコード400番台は、リクエストに問題がある場合に返されるエラーコードです。URLの誤入力、不正なリクエスト、認証エラーなどが原因で発生します。
400番台のエラーは、ホームページ制作やWebサイト管理の際に頻繁に遭遇するため、適切な対処方法を理解しておくことが重要です。
400 Bad Request | リクエストが不正であり、サーバーが処理できない場合に返されます。URLの誤入力や無効なパラメータが原因となることが多いです。 |
401 Unauthorized | 認証が必要なページで、適切な認証情報を提供せずにアクセスした場合に返されます。ログインが必要なページで発生することが多いです。 |
403 Forbidden | クライアントがサーバーへのアクセス権限を持たない場合に返されます。権限がないディレクトリへのアクセスや、IP制限が設定されている場合に発生します。 |
404 Not Found | 指定されたURLが存在しない場合に返されるエラーです。Webサイト運営において最もよく見かけるエラーの一つで、削除されたページやURLの誤入力が原因で発生します。 → 404エラーとは? |
405 Method Not Allowed | 指定したリクエストメソッドが、対象リソースで許可されていない場合に返されます。APIやフォーム送信の設定ミスなどで発生することがあります。 |
408 Request Timeout | クライアントがリクエストを送信したものの、一定時間内にサーバーが応答しなかった場合に返されます。ネットワークの問題やサーバーの負荷が原因となることが多いです。 |
409 Conflict | リクエストが、サーバー上の現在のリソース状態と競合している場合に発生します。特に、同じデータを複数のユーザーが同時に編集しようとした場合に起こります。 |
410 Gone | 404 Not Foundに似ていますが、リソースが過去に存在していたが、今後復活することはないことを明示するために使用されます。サイトリニューアル時にURLを完全に削除したことを示すのに使われることがあります。 |
429 Too Many Requests | 短期間に過剰なリクエストを送信した際に返されるコードです。特に、APIの利用制限を超えた場合に発生します。 |
HTTPステータスコード500番台(サーバーエラーコード)
HTTPステータスコード500番台は、サーバー側の問題によってリクエストが処理できない場合に返されるエラーコードです。
特に、ホームページ制作やWebサイト運営では、500番台のエラーが発生するとユーザーがページを閲覧できなくなるため、SEOにも悪影響を及ぼす可能性があります。
500 Internal Server Error | 最も一般的なサーバーエラーで、サーバー内部で処理できない問題が発生した際に返されます。CGIやPHPのスクリプトエラー、サーバー設定ミスなどが原因になることが多いです。 |
501 Not Implemented | サーバーがリクエストされた機能をサポートしていない場合に返されます。例えば、特定のHTTPメソッドがサーバーで実装されていない場合に発生します。 |
502 Bad Gateway | サーバーが上位のサーバーから無効なレスポンスを受け取った場合に返されます。CDNやリバースプロキシを利用している場合に発生することが多いです。 |
503 Service Unavailable | サーバーが一時的にリクエストを処理できない場合に返されます。サーバー負荷が高いときや、メンテナンス中に発生することが一般的です。 |
504 Gateway Timeout | サーバーが上位のサーバーからの応答を待機していたが、一定時間内にレスポンスがなかった場合に返されます。ネットワーク遅延やサーバー間の通信問題が原因となることが多いです。 |
505 HTTP Version Not Supported | サーバーがリクエストされたHTTPのバージョンをサポートしていない場合に返されます。 |
HTTPステータスコードが0と表示される理由と対処法
HTTPステータスコードが0と表示される場合、これは通常のHTTPステータスコードではなく、通信エラーやクライアント側の問題を示していることが多いです。
通常、HTTPステータスコードは100番台から500番台の範囲で割り振られますが、0が表示されるのは、サーバーからの応答を受け取る前に通信が遮断された場合に発生します。
主な理由
ネットワーク接続の問題 | クライアントのインターネット接続が不安定な場合、リクエストがサーバーに到達せず、HTTPステータスコードが0となることがあります。Wi-Fiやモバイル回線の不安定さが原因である可能性が高いです。 |
CORSの制限 | 異なるドメイン間のリクエストがブロックされた場合、ブラウザはリクエストのステータスを0として返すことがあります。サーバー側でCORSの設定を適切に行う必要があります。 |
JavaScriptのリクエストエラー | JavaScriptを使用したAPIリクエストで、リクエストが正常に送信されず、サーバーからのレスポンスが返ってこない場合に0となることがあります。特に、エンドポイントのURLが間違っていたり、サーバーがダウンしている場合に発生します。 |
SSL/TLS証明書の問題 | HTTPS接続の際に、SSL/TLS証明書のエラーが発生すると、ブラウザがリクエストをブロックし、HTTPステータスコード0が表示されることがあります。証明書の有効期限や設定を確認することが必要です。 |
サーバー側の応答なし | サーバーがダウンしている、またはリクエストを受け付けられない状態にある場合、レスポンスが返らずHTTPステータスコード0となることがあります。 |
対処法
ネットワーク環境を確認する | Wi-Fiやモバイル回線が安定しているか確認し、必要に応じて再接続を行う。 |
CORS設定を確認する | サーバー側でAccess-Control-Allow-Originヘッダーの設定を適切に行う。 |
JavaScriptのリクエスト処理を見直す | fetchやXMLHttpRequestのエラーハンドリングを追加し、サーバーが応答しているか確認する。 |
SSL/TLS証明書の確認 | HTTPS通信が問題なく行えるよう、証明書の期限切れや設定ミスがないかチェックする。 |
サーバーの状態を確認する | サーバーが正常に稼働しているか、エラーログを確認する。 |
HTTPステータスコード一覧のまとめ
HTTPステータスコードは、Webサーバーとクライアント間の通信状態を示す重要な指標です。100番台、200番台、300番台、400番台、500番台の5つのカテゴリに分類され、それぞれ異なる役割を持ちます。
ホームページ制作やWebサイト管理において、適切なHTTPステータスコードを理解し、エラー対応やリダイレクト設定を正しく行うことが、SEO対策やユーザーエクスペリエンスの向上につながります。
特に、200・301・404・500などは頻繁に使用されるHTTPステータスコードのため、意味を把握し適切に対応できるようにしておきましょう。