loading...

thumbnail

ステータスコードとは?HTTPステータスコード一覧と意味・役割を徹底解説!取得・確認・変更方法は?影響と対処法も紹介

<h2>サーバーとブラウザを繋ぐHTTPステータスコード</h2>
<img class=”aligncenter size-large wp-image-42417″ src=”https://kintore-master.com/wp-content/uploads/2019/12/92013259_l-1024×576.jpg” alt=”” width=”1024″ height=”576″ />

ネットサーフィンなど、インターネットを利用していると<strong>「404 Not Found」などの表示</strong>を見かけたことがある方は少なくないでしょう。

404以外にも、403や502なども見かけがちですが、今回の記事ではこの3桁の数字に注目していきます。

まさにこの<strong>3桁の数字が「HTTPステータスコード」</strong>と呼ばれるものです。
<h2>HTTPステータスコードを解説</h2>
<img class=”aligncenter size-large wp-image-42423″ src=”https://kintore-master.com/wp-content/uploads/2019/12/71810638_m-1024×683.jpg” alt=”HTML5 CONCEPT” width=”1024″ height=”683″ />

こちらの記事で、数あるHTTPステータスコードをそれぞれ簡単に解説していきます。

<strong>一覧</strong>にまとめたので一気に確認してみましょう。

それぞれのステータスコードの意味や役割を解説しつつ、<strong>番号台によって区分が異なる</strong>ポイントもチェックします。
<h2>ブラウザからのリクエストに対するサーバーの応答を示す</h2>
<img class=”aligncenter size-large wp-image-42520″ src=”https://kintore-master.com/wp-content/uploads/2019/12/47638682_xl-1024×683.jpg” alt=”ビッグデータサーバルーム” width=”1024″ height=”683″ />

ではまず<strong>「HTTPステータスコードが一体どういうものなのか」</strong>という点を確認しておきましょう。

HTTPステータスコードは、Webブラウザからサーバーに対して送信された<strong>リクエストへの「応答(レスポンス)」</strong>を示しています。

これは番号台によって大まかな意味が分類されています。
<h3>HTTPステータスコードの種類</h3>
番号は100〜510までの間の数字で割り振られており、通常<strong>100〜200番台は「正常な」ステータスコード</strong>です。

そのため、普通にインターネットを楽しんでいる中で<strong>100〜200番台のHTTPステータスコードを目にする機会はまずない</strong>でしょう。

対して、<strong>400〜500番台がいわゆるエラーを示すステータスコード</strong>です。

このステータスコードたちは、ブラウザが「HTMLよりも前に」受信します。
<h3>HTTPステータスコード受信の流れ</h3>
<img class=”aligncenter size-large wp-image-42586″ src=”https://kintore-master.com/wp-content/uploads/2019/12/136191890_xl-1024×683.jpg” alt=”技術のテーマ” width=”1024″ height=”683″ />

簡単にステータスコード受信の流れを解説します。

まず、パソコンやスマートフォンのWebブラウザが「このWebサイトを表示したい」というリクエストを送信。

すると、該当するサーバーから「このWEBサイトは移動した」、「このサイトは表示できない」などのレスポンスが返ってきます。

この<strong>レスポンスを示す3桁の数字が、HTTPステータスコード</strong>のことです。
<h3>例:ステータスコード301が返された場合</h3>
例えば「このアドレスは別のアドレスに移動した」という意味を持っているステータスコードの301が返ってきた場合。

この場合はブラウザが「指定のURLは変更されているから、指定された新しいURLへリダイレクトする」といったような処理が行われます。

このように、インターネットの利用者が<strong>快適にウェブブラウジングをするためにも必要不可欠なもの</strong>であるということです。
<h2>3桁の数字に込められている意味</h2>
<img class=”aligncenter size-large wp-image-41376″ src=”https://kintore-master.com/wp-content/uploads/2019/12/82652272_xl-1024×507.jpg” alt=”” width=”1024″ height=”507″ />

それでは、ここから早速HTTPステータスコードの一覧をチェックしていきます。

それぞれ意味を<strong>一言ずつ解説</strong>していますので、参考にしながらご覧ください。

全種類を列挙するとかなりの数になるため、今回の一覧表では主要なステータスコードを取り上げています。
<h2>正常なステータスコードは「100〜200番台」</h2>
<img class=”aligncenter size-large wp-image-42482″ src=”https://kintore-master.com/wp-content/uploads/2019/12/84931689_xl-1024×683.jpg” alt=”サポートエンジニア” width=”1024″ height=”683″ />

では早速、実在しているステータスコードに注目していきます。

順番に100番台から紹介していきますが、そもそも100〜200番台は<strong>正常なステータスコード</strong>です。

そのため、<strong>日常生活で目にする機会はまずない</strong>ことを認識したうえでご覧ください。
<h3>処理の継続を意味する100番台</h3>
まずは100番台からです。

100番台のHTTPステータスコードは、リクエストが受け取られ<strong>処理が継続</strong>されることを示しています。
<table style=”height: 150px;”>
<tbody>
<tr style=”height: 30px;”>
<td style=”height: 30px; width: 150.203125px; text-align: center;”>HTTPステータスコード</td>
<td style=”height: 30px; width: 216.28125px; text-align: center;”>意味</td>
<td style=”height: 30px; width: 463.546875px; text-align: center;”>解説</td>
</tr>
<tr style=”height: 30px;”>
<td style=”height: 30px; width: 150.203125px;”>100</td>
<td style=”height: 30px; width: 216.28125px;”>Continue</td>
<td style=”height: 30px; width: 463.546875px;”>サーバーがリクエストを受信し拒否しておらず継続する</td>
</tr>
<tr style=”height: 30px;”>
<td style=”height: 30px; width: 150.203125px;”>101</td>
<td style=”height: 30px; width: 216.28125px;”>Switching Protocols</td>
<td style=”height: 30px; width: 463.546875px;”>リクエストに対して、サーバーがプロトコルの切り替えを要求している</td>
</tr>
<tr style=”height: 30px;”>
<td style=”height: 30px; width: 150.203125px;”>102</td>
<td style=”height: 30px; width: 216.28125px;”>Processing</td>
<td style=”height: 30px; width: 463.546875px;”>処理を継続していることを示す</td>
</tr>
<tr style=”height: 30px;”>
<td style=”height: 30px; width: 150.203125px;”>103</td>
<td style=”height: 30px; width: 216.28125px;”>Early Hints</td>
<td style=”height: 30px; width: 463.546875px;”>予想されるヘッダを伝達する</td>
</tr>
</tbody>
</table>
100番台はどれも処理を継続することを示します。

<strong>正常に処理が行われていることが分かる</strong>ステータスコードです。
<h3>処理の成功を意味する200番台</h3>
続いては200番台のHTTPステータスコードをチェックしましょう。

200番台のステータスコードは処理の成功を意味しています。

100番台同様、普通はまず目にしないステータスコードです。
<table style=”width: 923px;”>
<tbody>
<tr>
<td style=”width: 151.203125px; text-align: center;”>HTTPステータスコード</td>
<td style=”width: 215.28125px; text-align: center;”>意味</td>
<td style=”width: 462.546875px; text-align: center;”>解説</td>
</tr>
<tr>
<td style=”width: 151.203125px;”>200</td>
<td style=”width: 215.28125px;”>OK</td>
<td style=”width: 462.546875px;”>リクエストが成功し、処理が正常に行われる</td>
</tr>
<tr>
<td style=”width: 151.203125px;”>201</td>
<td style=”width: 215.28125px;”>Created</td>
<td style=”width: 462.546875px;”>リクエストが完了して、新しく作成されたデータのURIが返される</td>
</tr>
<tr>
<td style=”width: 151.203125px;”>202</td>
<td style=”width: 215.28125px;”>Accepted</td>
<td style=”width: 462.546875px;”>リクエストは受理されたが、処理はまだ完了していない状態</td>
</tr>
<tr>
<td style=”width: 151.203125px;”>203</td>
<td style=”width: 215.28125px;”>Non-Authoritative Information</td>
<td style=”width: 462.546875px;”>ローカルやプロキシからの信頼できない情報であるとき示される</td>
</tr>
<tr>
<td style=”width: 151.203125px;”>204</td>
<td style=”width: 215.28125px;”>No Content</td>
<td style=”width: 462.546875px;”>リクエストを受理したものの、返す情報がない際に表示される</td>
</tr>
<tr>
<td style=”width: 151.203125px;”>205</td>
<td style=”width: 215.28125px;”>Reset Content</td>
<td style=”width: 462.546875px;”>画面をリセットする際のもの</td>
</tr>
<tr>
<td style=”width: 151.203125px;”>207</td>
<td style=”width: 215.28125px;”>Partial Content</td>
<td style=”width: 462.546875px;”>レジュームや分割ダウンロードなどを行った際に返される</td>
</tr>
<tr>
<td style=”width: 151.203125px;”>208</td>
<td style=”width: 215.28125px;”>Multi-Status</td>
<td style=”width: 462.546875px;”>ステータスが複数存在している</td>
</tr>
<tr>
<td style=”width: 151.203125px;”>226</td>
<td style=”width: 215.28125px;”>IM Used</td>
<td style=”width: 462.546875px;”>IMを使用している</td>
</tr>
</tbody>
</table>
このように一覧で見てみると200番台は基本的にポジティブなステータスコードだということが分かります。

実際に目にすることがまずない200番台ですが、例えば「200」のOK。

こちらは、Webブラウザで正常にWebサイトが閲覧できている場合は大抵「200」が返されています。

数字こそ目にせずとも、普段何気なく行っているウェブブラウジングで<strong>「200」は最も身近なHTTPステータスコードと</strong>いえるかもしれません。
<h2>移転通知である「300番台」</h2>
<img class=”aligncenter size-large wp-image-42171″ src=”https://kintore-master.com/wp-content/uploads/2019/12/105504275_xl-1-1024×683.jpg” alt=”電話をするフリーランスコーダー” width=”1024″ height=”683″ />

300番台は正常でもエラーでもない少し特殊な状況を示しているHTTPステータスコードです。

「移転」を示している300番台ですが、一体どのようなステータスコードがあるのでしょうか。
<table>
<tbody>
<tr>
<td style=”width: 157.21875px;”>HTTPステータスコード</td>
<td style=”width: 207.265625px;”>意味</td>
<td style=”width: 465.546875px;”>解説</td>
</tr>
<tr>
<td style=”width: 157.21875px;”>300</td>
<td style=”width: 207.265625px;”>Multiple Choices</td>
<td style=”width: 465.546875px;”>リクエストしたリソースが複数存在しており、ユーザーが選択する</td>
</tr>
<tr>
<td style=”width: 157.21875px;”>301</td>
<td style=”width: 207.265625px;”>Moved Permanently</td>
<td style=”width: 465.546875px;”>ウェブサイトが移転した時など、リソースが恒久的に移転した際のもの</td>
</tr>
<tr>
<td style=”width: 157.21875px;”>302</td>
<td style=”width: 207.265625px;”>Found</td>
<td style=”width: 465.546875px;”>リソースが一時的に移動されている際に返される</td>
</tr>
<tr>
<td style=”width: 157.21875px;”>303</td>
<td style=”width: 207.265625px;”>See Other</td>
<td style=”width: 465.546875px;”>リクエストに対して他のURLにレスポンスが存在する場合に返される</td>
</tr>
<tr>
<td style=”width: 157.21875px;”>304</td>
<td style=”width: 207.265625px;”>Not Modified</td>
<td style=”width: 465.546875px;”>リソースが更新されていない</td>
</tr>
<tr>
<td style=”width: 157.21875px;”>305</td>
<td style=”width: 207.265625px;”>Use Proxy</td>
<td style=”width: 465.546875px;”>プロキシを通じてリクエストをしなければならない場合に返される</td>
</tr>
<tr>
<td style=”width: 157.21875px;”>306</td>
<td style=”width: 207.265625px;”>(Unused)</td>
<td style=”width: 465.546875px;”>将来のための予約コード</td>
</tr>
<tr>
<td style=”width: 157.21875px;”>307</td>
<td style=”width: 207.265625px;”>Temporary Redirect</td>
<td style=”width: 465.546875px;”>リソースが一時的に移転しているときに返される一時的リダイレクト</td>
</tr>
<tr>
<td style=”width: 157.21875px;”>308</td>
<td style=”width: 207.265625px;”>Permanent Redirect</td>
<td style=”width: 465.546875px;”>リソースが恒久的に移転しているときに返される恒久的リダイレクト</td>
</tr>
</tbody>
</table>
300番台は、基本的にリダイレクトや「移転」などを示しています。

決してエラーではないものの、そのリソース自体にはリクエストが通らない場合などが考えられるでしょう。

「300 Multiple Choices」に関しては<strong>ユーザーが自ら接続先を選択</strong>する必要があります。

300だけでも覚えておくと、いざ直面したときに混乱せずに対処できるかもしれません。
<h2>エラーコードである「400〜500番台」</h2>
<img class=”aligncenter size-large wp-image-41385″ src=”https://kintore-master.com/wp-content/uploads/2019/12/101486830_xl-1024×683.jpg” alt=”” width=”1024″ height=”683″ />

この記事でも既に触れましたが、400〜500番台は「エラーコード」となります。

<strong>400番台が処理を失敗</strong>した際、<strong>500番台がサーバー側のエラー</strong>をそれぞれ示しているポイントを頭に入れておきましょう。

こちらも表形式でそれぞれ紹介いたします。
<h3>400番台:処理失敗</h3>
<img class=”aligncenter size-large wp-image-42560″ src=”https://kintore-master.com/wp-content/uploads/2019/12/23254881_xl-1024×683.jpg” alt=”会議” width=”1024″ height=”683″ />

まずは400番台、処理の失敗したケースに表示されるステータスコードたちです。
<table>
<tbody>
<tr>
<td style=”text-align: center;”>HTTPステータスコード</td>
<td style=”text-align: center;”>意味</td>
<td style=”text-align: center;”>解説</td>
</tr>
<tr>
<td>400</td>
<td>Bad Request</td>
<td>未定義のメソッドやタイプミスなどでリクエストが理解できない</td>
</tr>
<tr>
<td>401</td>
<td>Unauthorized</td>
<td>認証失敗・認証資格を持たずにアクセスしようとしている</td>
</tr>
<tr>
<td>402</td>
<td>Payment Required</td>
<td>将来のための予約コード</td>
</tr>
<tr>
<td>403</td>
<td>Forbidden</td>
<td>アクセス禁止を示し管理画面にアクセスしてしまった際などに表示される</td>
</tr>
<tr>
<td>404</td>
<td>Not Found</td>
<td>アクセス不可。ページが存在しない場合やアクセス権限がない場合など</td>
</tr>
<tr>
<td>405</td>
<td>Method Not Allowed</td>
<td>メソッドは存在するが、使用が許可されていない場合</td>
</tr>
<tr>
<td>406</td>
<td>Not Acceptable</td>
<td>Accept関連のヘッダに受理できない内容が記載されていた</td>
</tr>
<tr>
<td>407</td>
<td>Proxy Authentication Required</td>
<td>プロキシの認証が必要</td>
</tr>
<tr>
<td>408</td>
<td>Request Timeout</td>
<td>時間内にリクエストが完了していない</td>
</tr>
<tr>
<td>409</td>
<td>Conflict</td>
<td>リクエスト先の現状のリソースと競合・矛盾している</td>
</tr>
<tr>
<td>410</td>
<td>Gone</td>
<td>リクエスト先が消滅している</td>
</tr>
<tr>
<td>411</td>
<td>Length Required</td>
<td>Content-Lengthヘッダがなくアクセスが拒否された</td>
</tr>
<tr>
<td>412</td>
<td>Precondition Failed</td>
<td>前提条件に問題がある</td>
</tr>
<tr>
<td>413</td>
<td>Payload Too Large</td>
<td>エンティティのサーバー許容範囲オーバー(アップロード容量超過など)</td>
</tr>
<tr>
<td>414</td>
<td>URI Too Long</td>
<td>リクエストURIが長すぎてサーバーが処理を拒否した場合</td>
</tr>
<tr>
<td>415</td>
<td>Unsupported Media Type</td>
<td>サポートしていないメディアタイプを指定した場合</td>
</tr>
<tr>
<td>416</td>
<td>Range Not Satisfiable</td>
<td>リソースのサイズを超えるデータ要求</td>
</tr>
<tr>
<td>451</td>
<td>Unavailable For Legal Reasons</td>
<td>法的な理由で利用できない</td>
</tr>
</tbody>
</table>
一般的にインターネットを利用していても<strong>遭遇しがちなのは「403」や「404」</strong>でしょう。

また、特定のWebサーバなどを利用している方であれば<strong>402などもお馴染み</strong>のステータスコードかもしれません。
<h3>400番台への対策</h3>
基本的に400番台はアクセスや処理の失敗を示しています。

もしこれらのステータスコードに遭遇したら原因を探ってください。

自分の処理や操作、そもそも<strong>ログイン・認証情報を誤って入力していないかなどをチェック</strong>してみると<strong>解決できるかも</strong>しれません。

今回は400番台のステータスコードの中から18個をピックアップしましたが、紹介していないものを含めると<strong>全部で29個</strong>が存在しています。
<h3>一風変わったコードも</h3>
<img class=”aligncenter size-large wp-image-42517″ src=”https://kintore-master.com/wp-content/uploads/2019/12/46573529_xl-1024×683.jpg” alt=”読書もしくは勉強のあと、コーヒーを飲み休憩する女性” width=”1024″ height=”683″ />

あえて上の表では紹介しませんでしたが、400番台の中には<strong>「418 I’m a teapot(私はティーポット)」</strong>というユニークなステータスコードもあります。

こちらはジョークコードですが、<strong>遊び心が垣間見える楽しいステータスコード</strong>です。

ちなみに413は「Payload Too Large」ですが、以前は「Request Entity Too Large」とされていました。

同様に、414も「URI Too Long」ではなく以前は「Request-URI Too Long」となっていたので、こちらの2点は注意しておくと情報収集の際などに役立つかもしれません。
<h3>500番台:サーバーエラー</h3>
最後は500番台、サーバーがエラーを吐いている場合のステータスコードたちを紹介します。
<table style=”height: 180px;”>
<tbody>
<tr style=”height: 30px;”>
<td style=”text-align: center; height: 30px; width: 149.203125px;”>HTTPステータスコード</td>
<td style=”text-align: center; height: 30px; width: 213.265625px;”>意味</td>
<td style=”text-align: center; height: 30px; width: 467.546875px;”>解説</td>
</tr>
<tr style=”height: 30px;”>
<td style=”height: 30px; width: 149.203125px;”>500</td>
<td style=”height: 30px; width: 213.265625px;”>Internal Server Error</td>
<td style=”height: 30px; width: 467.546875px;”>サーバー内で問題が発生し、エラーが起きている</td>
</tr>
<tr style=”height: 30px;”>
<td style=”height: 30px; width: 149.203125px;”>501</td>
<td style=”height: 30px; width: 213.265625px;”>Not Implemented</td>
<td style=”height: 30px; width: 467.546875px;”>サーバー側がリクエストされたメソッドに対応していない</td>
</tr>
<tr style=”height: 30px;”>
<td style=”height: 30px; width: 149.203125px;”>502</td>
<td style=”height: 30px; width: 213.265625px;”>Bad Gateway</td>
<td style=”height: 30px; width: 467.546875px;”>ゲートウェイ・プロキシサーバーが不正な要求を受け取り拒否している</td>
</tr>
<tr style=”height: 30px;”>
<td style=”height: 30px; width: 149.203125px;”>503</td>
<td style=”height: 30px; width: 213.265625px;”>Service Unavailable</td>
<td style=”height: 30px; width: 467.546875px;”>サービスがメンテナンス中だったり、アクセス過多な状況</td>
</tr>
<tr style=”height: 30px;”>
<td style=”height: 30px; width: 149.203125px;”>504</td>
<td style=”height: 30px; width: 213.265625px;”>HTTP Version Not Supported</td>
<td style=”height: 30px; width: 467.546875px;”>サーバーが対応していないHTTPバージョン</td>
</tr>
</tbody>
</table>
500番台は今回ピックアップしなかったものを含めても、<strong>合計で12個</strong>しかありません。

不正な要求として表示される「502」などは一般利用していても遭遇する可能性があるでしょう。

また<strong>「503」は大人気アーティストのライブチケット入手争奪戦</strong>や、一気に「バズった」サイトなどがパンクして表示される場合も考えられます。

「おなじみの503エラー」といわれることもあり、<strong>一般層にまで広く浸透しているステータスコード</strong>といえます。
<h2>HTTPステータスコードの確認方法</h2>
<img class=”aligncenter size-large wp-image-42437″ src=”https://kintore-master.com/wp-content/uploads/2019/12/81730331_xl-1024×683.jpg” alt=”アプリケーションエンジニア” width=”1024″ height=”683″ />

HTTPステータスコードは、簡単な手順で実際に確認することができます。

Webブラウザによって若干操作は異なりますが、大まかな流れを見てみましょう。
<h3>ステータスコード確認手順</h3>
まずは、確認したいWebサイトを開いたらブラウザを「開発者モード」にしてください。

メジャーなブラウザである「Firefox」や「Google Chrome」、「Microsoft Edge」の場合はどれも「F12キー」を押せば開発者モードに入れます。

開発者モードにできたら「ネットワーク」や「Network」(ブラウザによって表記が異なる)タブに切り替えましょう。

これでステータスコードが表示されていることが確認できます。

もしされていなければCtrl+rおよびcommand+rで更新をかけてみてください。

正常な状態であればこれまで紹介してきた通り<strong>200番台が表示されている</strong>はずです。

Webサイトを構築・開発する際はもちろん、何か運営している際にも定期的にチェックすることでトラブルを防げるでしょう。
<h2>HTTPステータスコードを理解しておくのは大事なこと</h2>
<img class=”aligncenter size-large wp-image-42473″ src=”https://kintore-master.com/wp-content/uploads/2019/12/81307407_xl-1024×683.jpg” alt=”セールスエンジニア” width=”1024″ height=”683″ />

今回の記事では、HTTPステータスコードについて解説してきました。

HTTPステータスコードは一般的にあまり知られていません。

404や503は知名度こそ高いものの、実際に「何を意味しているのか」まで理解している方は少ないという現状にあります。
<h3>理解しておくことで適切に対処できる</h3>
ステータスコードによってエラーが吐かれているのであれば、その内容や意味を理解しておけば適切に対処ができます。

503は単純に「今サーバーがパンクしてるんだな」と理解して「今見れないだけ」ということが分かるでしょう。

404であればそのWebサイトへ「アクセスができない」ということまで理解できます。
<h3>同じ「サイトが表示されない」状況であったとしても…</h3>
503、404どちらも<strong>「Webページが表示されない」ステータスコード</strong>です。

しかしこの3桁の数字を理解すれば<strong>「今見れない」のか「アクセスができない」</strong>のかまで判明させられます。

Webサイトの状態まで分かるステータスコードについて理解を深めておけば、自分で解決できるエラーなのかどうかまで判断できるということです。

あまり馴染みのない分野かもしれませんが、理解を深めておくのは有益なことということが分かります。
<h3>ステータスコードは身近な存在</h3>
普段は役に立つ機会こそ少ないものの、HTTPステータスコードは非常に身近な存在です。

見かけ上は見えないだけで、Webサイトを表示している時点で200番台のステータスコードという結果を得ていることになります。

慣れ親しむまではいかずとも、実はステータスコードは<strong>日常的に接している存在</strong>ということです。
<h2>エンジニアとしてステータスコードを理解する</h2>
<img class=”aligncenter size-large wp-image-42334″ src=”https://kintore-master.com/wp-content/uploads/2019/12/85052072_xl-1024×677.jpg” alt=”” width=”1024″ height=”677″ />

エンジニアであれば、ステータスコードについて理解を深めておくのは重要なことです。

何かWebサイトに問題が発生したときや、サイト内の一部だけにエラーが発生している場合などはその<strong>ステータスコードを基に対策を練る</strong>ことになるでしょう。

予めステータスコードを理解しておけば、速やかに対処できます。

全部とはいわずとも「400〜500番台がエラー」ということだけでも覚えておけば、普段の業務でも活かせる部分が出てくるかもしれません。

エンジニアとして生活していくうえで、少しずつでもいいのでステータスコードについて深く理解できれば、魅力ある人材になれるでしょう。

RANKING週間人気コラムランキング

RANKINGカテゴリーランキング

CATEGORY

TAG

TOP