2018.07.30SEO記事一覧

HTTPステータスコードとは?種類とそれぞれの役割について

  • このエントリーをはてなブックマークに追加

ウェブサイトをリニューアルする際に「古いページから新しいページには301リダイレクト転送してください。」、存在しないページにアクセスされた際には「404エラーページを表示させてください」といったことを聞いたことはあるのはないでしょうか?

301や404などはHTTPステータスコードと呼ばれており、他にも様々なステータスコードがあります。

そこで今回は、HTTPステータスコードとはそもそもなんなのか、存在する種類と役割について紹介していきます。

HTTPステータスコードとはなにか

ウェブサイトを閲覧するウェブブラウザから送られるリクエストに対し、ウェブサーバーから返信されるレスポンス内容を表す3桁の数字のことです。

噛み砕いていうと、私たちサイトを運営している時に、「PCやスマホの画面にこのウェブサイトを表示させたい」という<リクエスト>に対し、「現在このサイトは表示できません」「このサイトはURLが変更になりました」などのウェブサーバーからの<レスポンス>を表す数字がステータスコードです。

301や404を例にとると…

  • 301が受信されたので、指定のページのURLは変更されている。新しいURLへ転送しよう。
  • 404が受信されたので、指定のページはない。404のエラーページを表示しよう。

上記のような処理を行います。

受信した数字に応じて、ブラウザの処理が変わってきます。

一方で正しいレスポンスがないと…

  • URLが移行されているのに、301が受信されないために、古いURLにアクセスされ、ページが表示されない。

などといった自体に陥ってしまい、ページへ訪れたユーザーの離脱にもつながってしまいます。

この自体を未然に防ぐためにも、各ステータスコードにはどんな種類がありどんな役割を持つのかきちんと把握しておく必要があります。

ステータスコードってどう分けられるの?

ステータスコード100~510までの間で数字が存在し役割が異なります。

100番台 継続
200番台 リクエスト完了
300番台 リダイレクト(移行)
400番台 リクエスト失敗
500番台 サーバーエラー

100番台のステータスコード

100番台はリクエストに対し、処理が継続されていることを表します。

200番台のステータスコード

200番台はリクエストを正しく受理したことを表します。

私たちがいつもPCやスマホでウェブサイトを閲覧できている際の多くがこの番号を受信している状態です。

300番台のステータスコード

300番台はリダイレクトや移行など、リクエストを達成するために、追加の処理が必要と返信している状態です。

URLが変更された場合など、新しいURLへ転送させるレスポンスが該当します。

400番台ステータスコード

400番台はリクエストが正しく処理できない状態です。

ページ自体が存在しないため、サーバー正しく処理できず、ページが表示できないケースが該当します。

500番台ステータスコード

500番台はサーバーに問題があり、エラーとなる状態です。

 
上記のように、各個別の数字ごとに役割をもちます。

ステータスコードの種類と役割って?

ステータスコードのおおまかに紹介しましたが、次に各種類と役割を紹介します。

100番台のステータスコード

100 Continue 【継続】

サーバーはリクエストに対して最初の部分を受けて取って、途中まで読み取り、問題はない、現状はただしく処理できている状態です。

ここから更に継続してリクエストすることが可能です。

101 Switching Protocols 【プロコトルの切り替え】

サーバーはリクエストを理解できているので、正しい処理を行うため、プロコトルの切り替え求めています。

102 Processing 【処理中】

リクエストが完全に処理できていない状態です。

200番台のステータスコード

200 OK 【成功】

リクエストは正しく処理され、要求された内容が返信されています。ブラウザ上でPCやスマホの画面で正しくサイトが閲覧できる際には、この数字が返ってきています。

201 Created 【新たに作成】

リクエストは成功し、新規で作成されたリソースのURLが返信されています。

例えば、PUTメソッドでリソースを指定し作成しようした際に、そのリクエストを行って、サーバ側も受理して作成も完了した場合に返される状態がこのステータスになります。

202 Accepted 【受理完了】

リクエストを受理したものの、まだ処理している途中だと返されています。

例えば、UTメソッドでリソースを指定し作成しようした際に、そのリクエストを行って、サーバ側も受理したが、まだ作成されない場合に返される状態がこのステータスになります。

203 Non-Authoritative Information 【信頼できない情報】

リクエストの内容が、実際のオリジナルのものとは異なり、ローカルやプロキシなどの情報なので、信頼できないと返されます。

例えば、リクエストされた内容もしくは、リクエスト元のブラウザ、ソフトウェアが不正プログラムやウイルスに感染しているため承認できない状態がこのステータスになります。

204 No Content 【返せる内容なし】

リクエストを受理しているものの、返せる情報がないケースです。

205 Reset Content 【内容のリセット】

リクエストは成功していますが、ユーザーエージェントに対して画面をリセットするよう返しています。

例えば、リクエストは承認されているが、ブラウザの画面を初期化するよう返されている状態がこのステータスに当てはまります。

206 Partial Content 【部分的に受理】

ツールを使用し分割ダウンロードを行ったり、レジュームを行った際に、部分的にリクエストを受理しています。

例えば、あるPDFファイルをダウンロードしようとした際、ファイルを分割してダウンロードするなどの場合がこのステータスに当てはまります。

207 Multi-Status 【複数存在する】

複数のステータスコードが存在する際に返されます。

226 IM Used 【IM使用】

IM(instance manipulation)の使用。Delta encoding in HTTPの拡張コードです。

300番台のステータスコード

300 Multiple Choices 【複数選択】

リクエストされた情報を確かめた結果、複数存在していたために、ユーザーエージェントやユーザーに選択肢を返信し、選択させます。

例えば、複数のページが利用、閲覧可能である状態です。

301 Moved Permanently 【恒久的に移動】

リクエストされたURLが変更されているケースです。この場合、同時に新しいURLへの誘導も返されます。
ここまで紹介したように、古いURLから変更されていた際に、新しいURLを案内されるコードです。

サイトリニューアル時には重要な設定になります。

詳細については下記記事をご確認ください。

302 Found 【発見】

リクエストされたURLが一時的に存在しない状態のため、別のURLに転送される。

完全にURLが変更されているのに302リダイレクトを設定しているケースがありますが、あくまで一時的に変更されている場合にのみ使用されるものですので注意しましょう。

303 See Other 【他を参照せよ】

リクエストに対する情報は他のURLに存在ケースです。この場合は、ユーザーをそこに誘導するようURLを指定し返信されます。

例えば、要求された内容は別のページ内に存在しているので、自動的そのURLページを表示させる際がこのステータスに当てはまります。

304 Not Modified 【更新していない】

リクエスト先が更新していなかったケースです。

例えば、リクエストで指定された日程以降、更新されていないため、求めている最新の情報が掲載されていない可能性があります。

305 Use Proxy 【プロキシ使用】

リクエスト先は、プロキシを使用しアクセスしなければならないなど制限がかかっているケースです。

307 Temporary Redirect 【一時的リダイレクト】

リクエスト先は一時的に移動しています。302とほぼ同様です。

例えば、指定のURLには一時的に別のURLに変更されているため、転送される場合がこのステータスに当てはまります。

308 Permanent Redirect 【恒久的リダイレクト】

リクエスト先のURLは変更されているため、新しいURLに誘導します。301とほぼ同様です。

例えば、指定のURLには完全に別のURLに変更されているため、転送される状態がこのステータスに当てはまります。

400番台ステータスコード

400 Bad Request 【不正】

定義していないメソッドを使用されているので、リクエストが理解できず、不正扱いされています。

例えば、リクエストの内容にエラーがあるため表示できない状態がこのステータスに当てはまります。

401 Unauthorized 【認証が必要】

リクエストに応えるためには、認証資格が必要になりますが、ユーザーがその資格をもっていないためにアクセスできない状態です。

例えば、Basic認証などが必要で、ID/PASSが誤っているために表示されない場合になります。

403 Forbidden 【拒否】

ユーザーがリクエスト先へのアクセス権がないため、拒否されています。多くの場合は、ユーザーに見せたくないページや一般公開していないページなどに適用されます。

例えば、社内のネットワーク環境でしかアクセスできないページに対して、社外からアクセスしようとしたため、そもそも表示されない状態が当てはまります。

404 Not Found 【未検出】

リクエスト先が見つからない、そもそも存在していないために、アクセスができません。「指定されたページは存在しません」などのエラーページが表示されるケースです。

例えば、ページが存在しない。アクセス権がそもそもない場合などになります。

詳細については下記で紹介していますので、こちらをご確認ください。

405 Method Not Allowed 【未許可のメソッド】

要求されているメソッドは理解できるものの、使用を許可されていないケースです。

406 Not Acceptable 【受理不可】

リクエスト先の情報が受理できないものであるケースです。

例えば、サーバは日本語しか認識できないのに、リクエストされたページの内容は中国語だった場合が当てはまります。

407 Proxy Authentication Required 【プロキシ認証】

プロキシの認証が必要です。

408 Request Timeout 【タイムアウト】

リクエストが時間内に完了せずに終了してしまったケースです。

例えば、ファイルが大きすぎるために時間がかかる場合がこの状態に当てはまります。

409 Conflict 【競合/矛盾】

リクエスト先は現状のリソースと競合・矛盾するため完了できないケースです。

例えば、サーバー内で既に存在しているファイルより古いが同じようなファイルをアップしようとした際がこの状態に当てはまります。

410 Gone 【消滅】

リクエスト先が消滅したためか、利用できなく、転送先のURLも不明なケースです。

例えば、指定のURLが存在しないが、代わりとなるURLも見つからない場合です。

411 Length Required 【長さが必要】

リクエストに対し、Content-Length ヘッダがないため、アクセスが拒否されています。

412 Precondition Failed 【前提条件が失敗】

リクエスト元のヘッダーにある前提条件は、サーバーに適合できないために処理が失敗しています。

413 Request Entity Too Large 【情報が膨大】

リクエスト先の内容が膨大であるため、サーバーの処理できないケースです。

414 Request-URI Too Large 【URIが長い】

URIが長過ぎるためにサーバーの処理可能範囲を超えています。

415 Unsupported Media Type 【サポートされていない】

メソッド、メディアタイプが、サポートされていないため、リクエストが拒否されています。

416 Requested range not satisfiable 【レンジは範囲外】

リクエスト先の情報が膨大なため、現状のリソースサイズを超えています。

500番台ステータスコード

500 Internal Server Error 【サーバーエラー】

サーバー内で問題が発生し、エラーが起きています。

例えば、サーバー内のプログラムに記述されている内容に誤り、エラーがあるなどのケースです。

501 Not Implemented 【実装していない】

メソッドが、現状のサーバーでは対応していません。

502 Bad Gateway 【不正なゲートウェイ】

ゲートウェイとして動作するサーバーが不正な要求を受けています。

503 Service Unavailable 【サービス利用不可】

リクエスト先が一時的にアクセス集中やメンテナンスなどで使用できません。

505 HTTP Version Not Supported 【サポートされていないHTTPバージョン】

リクエスト先はサーバーが対応していないHTTPバージョンであるケースです。

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

上記ステータスコードを調べる際に、簡単に確認ができるツールが、HTTP Status Code Checkerになります。

HTTP Status Code Checker

利用方法については下記記事で紹介していますので、こちらをご確認ください。

おわりに

今回ご紹介したように、各ステータスコードはそれぞれの役割をもち、利用シーンがわかれています。
それぞれの特色を理解し、正しい場面で利用することでユーザーに対してもストレスなくサイトを閲覧してもらうことができるため、是非参考にしてみてください。

  • このエントリーをはてなブックマークに追加
The following two tabs change content below.
digital-marketing

digital-marketing

デジタルマーケティング研究所では、デジタルマーケティングの施策・広告・技術を、分析・実装・検証して、WEB担当者・マーケティング担当者の方の役立つ情報を発信していきます。