HTTPステータスコード一覧│意味を完全解説
Webサイトにアクセスしたとき「403 Forbidden」「404 Not Found」といった英数字が表示された経験がある方も多いのではないでしょうか。これらはHTTPステータスコードの一種で、それぞれ意味を持っています。今回はHTTPステータスコードの意味や原因、対処方法を一覧表を用いながら解説します。
HTTPステータスコードとは
HTTPステータスコードは、Webサイトにアクセスしたときの「HTTPリクエスト」の完了状態(正常に完了したかどうか)を表す3桁の数値です。そもそもWebサイトにアクセスするとき、次のようなステップで情報が処理されています。
- ブラウザがサーバーにリクエストを送る(HTTPリクエスト)
- サーバーがブラウザにレスポンスを返す(HTTPレスポンス)
このHTTPレスポンスでHTMLファイルなどが返送され、その情報がブラウザ上で表示されると、私たちはWebサイトを見ることができます。このサーバーの処理結果(完了状態)を表すのが、HTTPステータスコードです。
なお、HTTPとは「Hyper Text Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)」の略で、ブラウザからサーバーへのリクエストを処理するときの約束事(プロトコル|通信規約)を意味します。プロトコルにもいくつか種類がありますが、一般的に使用されるケースが多いのはHTTPです。
HTTPステータスコードを見れば、Webサイトでどのような事象が起こっているのか把握できます。
たとえば「Webサイトが表示されない」トラブルにはさまざまな原因が考えられますが、そのときのHTTPステータスコードを見れば、大まかな原因を把握できるのです。このためWebサイト運営に関わる人は、一通りステータスコードの意味を知っておく必要があります。
HTTPステータスコードの確認方法
HTTPステータスコードを確認する方法としては、次の2つが挙げられます。
- ブラウザに自動的に表示されるコードを確認する
- ブラウザの開発者ツールで確認する
Webサイトにアクセスすると、自動的に「404 Not Found」「502 Bad Gateway」などと自動的に表示されることがあります。これら3桁の数字がHTTPステータスコードなので、もしブラウザに自動的に表示されたのであれば、それを記録して意味・原因を調べましょう。
ブラウザに自動的に表示されない場合は、ブラウザの開発者ツールで確認することも可能です。
▼ たとえば『Google Chrome』を使っている場合には、次の手順で確認できます。
HTTPステータスコードを確認したいWebサイトを開く
開発者ツールを開く(F12キーもしくはoption+⌘+iを押す)
「Network」を選択
更新する(F5キーもしくは⌘+r)
「Status」を確認
HTTP ステータスコードの一覧表
HTTPステータスコードは3桁の数字で表され、百の位で意味が大別されています。
コード番号 | 意味 | 状態 |
---|---|---|
100番台 | 情報レスポンス | サーバー側が稼働できる状態(情報処理中の状態) |
200番台 | 成功レスポンス | 処理を実行できた状態 |
300番台 | リダイレクション | サーバー側でアクセス先を別の情報へ誘導した状態 |
400番台 | クライアントエラー | クライアント側のエラーが原因で要求に応えられない状態 |
500番台 | サーバーエラー | サーバー側のエラーが原因で要求に応えられない状態 |
さらに細かな状態ごとに、それぞれ3桁の数字が割り当てられています。一覧表は次のとおりです。
100番台(情報レスポンス) | |
100 Continue | リクエスト継続可能 |
101 Switching Protocols | プロトコル切り替え中 |
102 Processing | 処理中 |
103 Early Hints | 早期ヒントを伝達 |
200番台(成功レスポンス) | |
200 OK | 要求に応じた情報が返されている |
201 Created | クライアントの要求が成功し、新規リソースが作成されている |
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の拡張ステータスコード) |
300番台(リダイレクション) | |
300 Multiple Choices | 情報が複数存在しており、クライアント側に選択肢を提示 |
301 Moved Permanently | 恒久的な移動 |
302 Found | 一時的な移動 |
303 See Other | 他のページを参照 |
304 Not Modified | 要求したリソースが更新されていない |
305 Use Proxy | 指定されたプロキシサーバーを通じてのみアクセス可 |
306 Unused | ー(現在は使用されていない) |
307 Temporary Redirect | 一時的な移動(302と同義) |
308 Permanent Redirect | 恒久的な移動(301と同義) |
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 | 処理できない |
423 Locked | リクエストがロック状態 |
424 Failed Dependency | 依存関係の失敗(WebDAVの拡張ステータスコード) |
425 Too Early | サーバーへのリクエストが早すぎる |
426 Upgrade Required | アップグレード要求 |
428 Precondition Required | 事前条件の不足(条件付きリクエストのみ受入可能) |
429 Too Many Requests | 大量リクエストによる拒否 |
431 Request Header Fields Too Large | リクエストヘッダーが大きすぎる |
451 Unavailable For Legal Reasons | 法的理由による拒否 |
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 | サーバーが適切な応答を生成できない |
507 Insufficient Storage | 一時的にサーバーリソースが不足している |
508 Loop Detected | 無限ループ |
510 Not Extended | HTTPリクエストが不足している |
511 Network Authentication Required | ネットワーク認証が必要 |
それぞれのステータスごとに詳しく解説するので、ぜひ参考にしてみてください。
100番台|情報レスポンス
100番台は情報レスポンス、すなわちクライアント(ブラウザ)からのリクエストの受け取り・処理を継続できる状態です。情報処理中の状態ともいえます。100番台が表示されるケースには出会わないかもしれませんが、一通り意味は知っておきましょう。
詳細なステータスは、次の通りです。
100 Continue | リクエスト継続可能 |
101 Switching Protocols | プロトコル切り替え中 |
102 Processing | 処理中 |
103 Early Hints | 早期ヒントを伝達 |
100 Continue 【処理継続】
レスポンスまでの間に問題がなく、クライアントが要求を継続できる状態です。
101 Switching Protocols 【プロトコル切替】
クライアントのプロトコル変更要求を処理している状態です。
102 Processing【処理中】
クライアントの要求をサーバーが受理し、処理中である状態です。
103 Early Hints【事前情報】
サーバーがクライアントに最終的なレスポンスを送る前に、スタイルシートや画像などのリソースにまつわるヒントを送っている状態です。
早期(事前)にヒントを送ることで、クライアント(ブラウザ)側はレスポンスを待っている間に、これから必要となるリソースを読み込む準備ができます。その結果として、ページの表示速度が向上することが特徴です。
200番台|成功レスポンス
200番台は成功レスポンス、すなわち処理が成功したことを意味します。Webサイトが正常に表示されている場合には、基本的に200番台のHTTPステータスコードが表示されているはずです。
200 OK | 要求に応じた情報が返されている |
201 Created | クライアントの要求が成功し、新規リソースが作成されている |
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 OK 【成功】
200番台でもっとも代表的なステータスコードで、リクエストが成功し、クライアントの要求通りの情報がレスポンスされています。
201 Created 【作成完了】
クライアントの要求が成功し、そのリクエストに基づいた新規リソースがサーバー上で作成されたことを意味します。
例えば、新しいユーザーアカウントを作成するリクエストを送信した際に、サーバーがそのリクエストを処理し、正常に新しいアカウントが作成された場合、サーバーは「201 Created」を返します。
202 Accepted【受理】
クライアントの要求を受け入れたものの、まだ処理が完了していないことを示すHTTPステータスコードです。
例えば、ユーザーが大容量のファイルをサーバーにアップロードするリクエストを送信した場合、サーバー側でその処理が完了するまでに時間がかかることがあります。このとき、サーバーは即座に処理結果を返すことができないため、リクエストを受け取ったことを示すために「202 Accepted」を返します。
203 Non-Authoritative Information【信頼できない情報】
元のサーバー以外の場所(代理サーバーやキャッシュなど)から、オリジナルではない情報(つまり信頼できない情報)が収集されたことを意味し、キャッシュサーバーなどが関与するときに表示される可能性があります。
例えば、ユーザーがWebページにアクセスした際、リクエストがキャッシュサーバーにリダイレクトされ、そのキャッシュサーバーがオリジナルのコンテンツではなく、古いデータや変更されたデータを返す場合、「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使用済み】
Webページ・その他のHTTP応答の変更点のみを送信することで、大容量データでも効率的にやり取りできる手法である「Delta encoding in HTTP」という仕様の拡張ステータスコードの一つです。クライアントの要求が、インスタントメッセージングシステム(IM)によってレスポンスされたことを意味します。
300番台|リダイレクション
300番台は、リダイレクション(遷移処理)に関するコードです。クライアントのリクエストに対し、サーバー側で別のアクセス先へ誘導する処理がおこなわれたことを示しています。
300 Multiple Choices | 一つのリクエストに対して、複数のレスポンスがある |
301 Moved Permanently | 恒久的な移動 |
302 Found | 一時的な移動 |
303 See Other | 他のページを参照 |
304 Not Modified | 要求したリソースが更新されていない |
305 Use Proxy | 指定されたプロキシサーバーを通じてのみアクセス可 |
306 | ー(現在は使用されていない) |
307 Temporary Redirect | 一時的な移動(302と同義) |
308 Permanent Redirect | 恒久的な移動(301と同義) |
300 Multiple Choices【複数の選択肢】
一つのリクエストに対して、複数のレスポンスがある(リソースが複数の場所に存在している)状態であるため、クライアント側に選択肢を提示している状態です。
301 Moved Permanently 【恒久的な移動】
Webサイト(Webページ)が別のURLに恒久的に移転したことを示すステータスコードです。Webサイトをリニューアルしたときや、ドメイン名を変更するときなどに使用します。
301は、ドメイン変更を伴うリニューアルやページを統合する際や、利用する際によく利用するため覚えておきましょう。
302 Found 【一時的な移動】
Webサイト(Webページ)が、別のURLに一時的に移転したことを示すステータスコードです。イベントをプロモーションするために、既存ページを一時的にキャンペーンページへ変更する場合などに使用されます。
303 See Other 【他を参照】
リクエストに対するレスポンスが、他ページで可能なことを知らせるステータスコードです。問い合わせフォームなどでデータ送信後、その情報を処理した結果を伝えるページにリダイレクトするときなどに使用されます。
例えば、ユーザーが問い合わせフォームに入力してデータを送信完了後に、「確認メッセージ」や「処理結果」を表示する専用のサンクスページに自動で移動する場合などに使用されます。
304 Not Modified 【未変更】
キャッシュに保存されているコンテンツが有効である、つまりクライアントが要求したリソースがサーバー側で更新されていないことを示すステータスコードです。
例えば、ユーザーが以前に訪れたWebページに再度アクセスすると、ブラウザはサーバーにそのページが更新されたかどうかを確認します。
サーバー側で変更がない場合、「304 Not Modified」が返され、ブラウザはキャッシュに保存されている以前のページを再利用します。これにより、リソースの再ダウンロードが不要となり、ページの読み込み速度が向上します。
305 Use Proxy 【プロキシを使用せよ】
指定されたプロキシサーバーを通じてのみ、要求したリソースへアクセスできることを示すステータスコードです。例えば、企業の内部ネットワークで外部リソースにアクセスする際に、セキュリティのためにプロキシサーバーを使用するよう設定されている場合などに使用されます。
306(未使用)
かつては指定されたプロキシを使うよう通知する「Switch Proxy」というステータスコードでしたが、定義が明確ではなかったため、現在は使われていません。
307 Temporary Redirect 【一時的リダイレクト】
「307 Temporary Redirectは、クライアントが要求したリソースが一時的に別のURLに移動していることを示すステータスコードです。
302 Foundも同じように一時的なリダイレクトを示しますが、302ではリクエストメソッドがGETに変更される可能性があるのに対し、307 Temporary Redirectでは、元のリクエストメソッド(たとえばPOST)がそのまま保持されることが保証されています。
308 Permanent Redirect 【恒久的リダイレクト】
クライアントが要求したリソースが、恒久的に別のURLに移動したことを示すステータスコードです。301 Moved Permanentlyと同様に、リソースは新しいURLに恒久的に移動しており、今後はその新しいURLを使用するよう指示されます。
301ではリクエストメソッドがGETに変更される可能性があるのに対し、308 Permanent Redirectでは、元のリクエストメソッド(たとえばPOST)がそのまま保持されることが保証されています。
400番台|クライアントエラー
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 | 処理できない |
423 Locked | リクエストがロック状態 |
424 Failed Dependency | 依存関係の失敗(WebDAVの拡張ステータスコード) |
425 Too Early | サーバーへのリクエストが早すぎる |
426 Upgrade Required | アップグレード要求 |
428 Precondition Required | 事前条件の不足(条件付きリクエストのみ受入可能) |
429 Too Many Requests | 大量リクエストによる拒否 |
431 Request Header Fields Too Large | リクエストヘッダーが大きすぎる |
451 Unavailable For Legal Reasons | 法的理由による拒否 |
400 Bad Request 【不正なリクエスト】
不正なリクエストを示すステータスコードで、ブラウザもしくは使用端末に原因があります。ブラウザ・端末を変えるか、Cookieを削除すると解消するケースが多いです。
401 Unauthorized【未認証】
認証が失敗したケースです。アクセス権がない状態ともいえます。セキュリティによって拒否されているため、正しいID・パスワードを入力すれば解決します。
402 Payment Required【支払いが必要】
決済エラーを示すステータスコードですが、多くのブラウザでは使われていません。
403 Forbidden 【アクセス禁止】
サーバーがクライアントからの要求実行を拒否している状態で、たとえば社内からのみアクセスできるURLに対し社外からアクセスした場合など、アクセス権限がない状態で表示されます。
404 Not Found 【未検出】
クライアントの要求する情報を、発見できなかったときに表示されます。すでに非公開となったサイトなどにアクセスすると表示されるため、非常に有名なステータスコードです。
405 Method Not Allowed 【許可されていないメソッド】
クライアントが要求する処理実行を、サーバー側で禁止しているときに表示されます。クライアントが送信したHTTPメソッドがサーバーで許可されていないことなどが原因です。サーバーとの通信方法に、問題がある状態ともいえるでしょう。
406 Not Acceptable 【受理できない】
クライアントの要求したデータ形式を、サーバーが提供できない場合に表示されます。サーバー側はどのようなコンテンツが求められているか理解できているものの、クライアントが表示できる形式でデータ提供できないということです。
407 Proxy Authentication Required 【プロキシ認証が必要】
クライアントとインターネットの間にある、「プロキシサーバー」からの認証が必要な状態です。認証できないと、そのWebサイトだけではなくインターネットへのアクセスが制限されます。積雪な認証情報(ID・パスワードなど)を入力すれば解消されることが多いです。
408 Request Timeout 【リクエストタイムアウト】
リクエストに対する処理が、時間内に完了しないときのステータスコードです。インターネット接続が遅い場合などに表示されます。しばらく時間が経つと、自然と解決することが多いです。
409 Conflict【競合】
クライアントからのリクエストが、サーバーの状態と競合(矛盾)しているときに表示されます。たとえば複数人が同時に編集しており、それによって何らかの矛盾が生じると処理が完了できず、Conflict状態となります。
410 Gone【消滅】
サイトが移動・消滅した状況です。通常は「404 Not Found」が表示されますが、ページが完全に消滅し復活しないことを伝えたい場合に特別に設定すると、「410 Gone」を表示できます。
411 Length Required 【長さが必要】
HTTPプロトコルでは、送信データのサイズをContent-Lengthヘッダで示さなければなりません。この「Content-Length」がヘッダに含まれていないことを意味するステータスコードが、「411 Length Required」です。
412 Precondition Failed 【前提条件失敗】
クライアントのリクエストが前提条件を満たしていない状態です。クライアントが条件付きヘッダー(If-MatchやIf-Unmodified-Sinceなど)を指定しているものの、サーバーがこれら条件を満たしていないときに表示されます。
413 Payload Too Large【ペイロードが大きすぎる】
アップロードファイルなどの容量が大きすぎると表示されるステータスコードで、クライアントのリクエストが大きすぎてサーバーが処理できないことを示しています。
414 URL Too Long【URIが長すぎる】
URI(Uniform Resource Identifier)が長すぎることを意味します。なおURIとは、Web上にあるファイルを認識するURLやURNなどの識別子の総称です。URIを短くすれば解消します。
415 Unsupported Media Type 【サポートされていないメディアタイプ】
クライアントから受け取ったメディアタイプ(データ形式)を、サーバーが認識・処理できないときに表示されます。なお415エラーが発生している場合、検索エンジンのクローラーはそのページ内容をインデックスできません。そのためSEOの観点からすると、早急にデータ形式を修正する必要があります。
416 Range Not Satisfiable【範囲外のリクエスト】
クライアントが部分的なデータ取得をリクエストしたとき、それがリソース以上のデータを要求している場合に表示されるステータスコードです。たとえば動画視聴中、総時間を超えた範囲を要求すると、416エラーが表示されることがあります。
417 Expectation Failed 【期待に応えられない】
リクエストヘッダにある「Expect」に記述された条件が、サーバー側で満たせなかったときに表示されます。サーバー設定の誤りなどが原因で発生することもあれば、コードのバグが原因となっていることもあるため、さまざまな角度から原因を追求しなければならないステータスコードです。
421 Misdirected Request 【誤送信されたリクエスト】
クライアントの要求が誤っており、サーバーが適切に処理できない状態です。ただしHTTPS証明書やサーバーの設定が誤っており、結果としてクライアントのリクエストが誤っているとされることもあります。
422 Unprocessable Entity 【処理できないエンティティ】
サーバーに対するリクエストの構文は正しいものの、意味が間違っているため、サーバーが処理できない場合に表示されます。
423 Locked 【ロックされている】
サーバー上のリソースがロックされており、アクセスできない状態です。例えば、ユーザーがファイルを編集しようとした際、他のユーザーがそのファイルを使用中でロックされている場合、サーバーは「423 Locked」を返します。
424 Failed Dependency【依存関係の失敗】
「あるリクエスト」が「他のリクエスト」に依存しているものの、現在のリクエストでは依存関係が満たされていないときに表示されます。例えば、ユーザーがサーバー上でファイルを削除しようとしたが、そのファイルが他のプロセスに依存している場合、「424 Failed Dependency」が返されます。
425 Too Early【早すぎる】
ブラウザからサーバーへのリクエストが早すぎると表示されます。サーバーの過負荷を防ぐための仕組みです。
例えば、ユーザーがトランザクションの確定前に同じリクエストを再送信した場合、サーバーが「425 Too Early」を返すことがあります。処理が完了していない段階でのリクエストを防ぎ、サーバーの過負荷やデータ不整合を回避するためです。
426 Upgrade Required 【アップグレードが必要】
クライアントが使っているプロトコルを、アップグレードしなければならない状況です。HTTPからHTTPSへの切り替え時などに発生します。
428 Precondition Required【前提条件が必要】
リクエストの前提条件が不足している場合に表示されます。条件付きリクエストのみ受入可能な状態であるため、設定を確認しなければなりません。
429 Too Many Requests【リクエストが多すぎる】
リクエストが多すぎるため、それを拒否している状態です。例えば、ユーザーが短時間に同じページを何度もリロードしたり、APIに多数のリクエストを送信した場合などが該当します。
過剰なリクエストがサーバーに負荷をかけるのを防ぐため、一時的にアクセスを制限する措置です。
431 Request Header Fields Too Large 【ヘッダーフィールドが大きすぎる】
リクエストヘッダーが大きすぎるためにエラーが発生しています。ヘッダーに含めたCookieのデータ量が多すぎる場合などに発生します。
451 Unavailable For Legal Reasons【法的理由により利用不可】
法的な理由により、Webサイトを使用できないときに表示されます。著作権・商標を侵害する問題、政府当局による検閲などが原因であるため、クライアント側で対処できないことが多いです。
500番台|サーバーエラー
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 | サーバーが適切な応答を生成できない |
507 Insufficient Storage | 一時的にサーバーリソースが不足している |
508 Loop Detected | 無限ループ |
510 Not Extended | HTTPリクエストが不足している |
511 Network Authentication Required | ネットワーク認証が必要 |
500 Internal Server Errorr 【内部サーバーエラー】
サーバーでなんらかのエラーが起きているときに表示されます。
エラーの原因は多岐にわたり、サーバーの設定ミス、プログラムのバグ、外部サービスの失敗などが原因で発生します。
501 Not Implemented【未実装】
リクエストに対する機能を、サーバーが実装していない状態です。501が発生した場合、サーバーの設定やプログラムの更新が必要です。
502 Bad Gateway 【不正なゲートウェイ】
プロキシサーバーなどの通信過程で問題が発生しているときに表示されます。例えば、ユーザーがWebサイトにアクセスしようとした際、プロキシサーバーが別のサーバーに接続しようとしたが、その接続先サーバーが正しく応答しなかった場合に表示されます。
503 Service Unavailable 【サービス利用不可】
サーバーで要求処理の準備ができていない状態です。Webサイトをメンテナンスする場合なども、このステータスを表示させます。例えば、Webサイトがメンテナンス中でサーバーが一時的に停止している場合や、過負荷によってサーバーがリクエストを処理できない場合に表示されます。
504 Gateway Timeout 【ゲートウェイタイムアウト】
クライアントとの接続がタイムアウトしたときに表示されます。例えば、ユーザーがWebサイトにアクセスしようとしたが、そのリクエストがサーバーまで到達したものの、バックエンドのサーバーが応答しなかった場合に表示されます。
505 HTTP Version Not Supported【HTTPバージョンがサポートされていない】
クライアントに要求されているHTTPバージョンが、サーバーのサポート外の状態です。例えば、クライアントが古いバージョンのHTTP(例えばHTTP/1.0)を使用してリクエストを送信したが、サーバーがそのバージョンをサポートしていない場合に表示されます。
506 Variant Also Negotiates【バリエーション交渉エラー】
サーバーがリクエストに対して、適切な応答を生成できないときに表示されます。
例えば、ユーザーが特定の言語や形式でコンテンツをリクエストし、サーバーがそのリクエストに基づいて適切なバリエーション(例:異なる言語や形式のページ)を提供しようとしたが、どのバリエーションを選択すべきか判断できず「506 Variant Also Negotiates」エラーが表示される場合があります。
507 Insufficient Storage 【ストレージ不足】
一時的にサーバーリソースが不足している状態です。例えば、ユーザーが大きなファイルをサーバーにアップロードしようとした際に、サーバーのディスク容量やメモリが不足していて、ファイルを保存できない場合に表示されます。
508 Loop Detected【ループ検出】
リクエスト処理の過程で、無限ループに陥ったときに表示されます。例えば、ユーザーがWebDAVプロトコルを使ってファイル操作をおこなっている際に、サーバー内でリソース参照がループし続ける状況が発生した場合に表示されます。
510 Not Extended 【拡張が必要】
リクエストの適切な処理をするために、必要な情報が不足している状態です。例えば、クライアントが拡張HTTPプロトコルを使用してリクエストを送信したが、必要な追加情報が提供されていない場合に表示されます。
511 Network Authentication Required 【ネットワーク認証が必要】
ネットワークへの認証が必要な場合に表示されます。例えば、ユーザーが公共のWi-Fiに接続しようとした際、ネットワークが認証を要求しているが、まだその認証がおこなわれていない場合に表示されます。
HTTPステータスコードが「0」となる理由
ここまで紹介してきたとおり、HTTPステータスコードは100番台〜500番台で定められていますが、時々「0」「000」などと表示されることもあります。理由として考えられるのは次のような事象です。
- HTTPレスポンスがない
- NetWorkライブラリにバグが発生している
- ローカルファイルで実行している
もしステータスコードが「0」と表示されてしまった場合には、一度ブラウザをアップデートしてみたり、編集中のファイルを開いたままにしていないか確認してみたりしてください。
まとめ
HTTPステータスを全部覚えることは現実的ではありませんが、Webサイト運営やSEOに直接的に関係する「404」「301」「302」などの代表的なコードだけは概要を覚え、その他は表示される度に意味を検索するようにすると良いでしょう。
そしてエラーを放置することはユーザビリティ・クローラビリティ双方の観点から望ましくないため、400番台・500番台が表示された場合には、早急に対処することをおすすめします。
ぜひ、読んで欲しい記事
- SEO対策構造化データとは?SEO効果とメリット・書き方を解説2024/11/27
2024/11/27
- SEO対策被リンクとは?SEO効果の高いリンクをわかりやすく解説2024/11/27
2024/11/27
- SEO対策SEO外部対策とは?やり方と注意点を徹底解説2024/11/25
2024/11/25
- SEO対策内部リンクとは?貼り方とSEO効果について解説2024/11/25
2024/11/25
- SEO対策更新頻度とSEOの関係は?最適なコンテンツの管理方法を解説2024/10/28
2024/10/28
- SEO対策ブラックハットSEOとは?ホワイトハットSEOとの違いと手法一覧2024/10/17
2024/10/17