HTTPステータスコードの意味

HTTPステータスコードを解説したページ。404や500あるいは302等のエラーコードを見かけたことはありませんか。インターネットでは何時どんな訪問客が訪れるか予想できません。もしもエラーで見れなかったら困りますね。 「エラーを生じない」という事はウェブサイト運営を行なう上で最も重要なポイントです。

ステータスコードとは

ASY!ブラウザで誤ったURIを見ようとすると404 Not Foundというページが現れますが、この404というのはHTTPステータスコードの一種。それと知らなくても、既に出会っていた人が多いのではないでしょうか。
  英語でNot Foundは「見つからない」とい意味。そうするとステータスコードの404番は、「あなたのリクエストしたURLが見つかりません」だったんですね。

ASY!HTTPステータスコードは「どんな場合にどのコードを使うか」があらかじめ決められています。404以外のステータスコードの意味も覚えておくと、次からはエラーに出会っても驚かないようになれるでしょう。

HTTPステータスコードの位置付け

ASY!インターネットで使われているHTTPステータスコードは誰が決めたのでしょうか。実はW3C勧告に含まれているのです。 勘のいい人はこのコーナーがW3Cディレクトリの中にあることから既に気付いていたかもしれません。

ASY!W3C勧告の文書には細目にわたって説明がなされていますが、皆さんはよく使われるステータスコード番号の大まかな意味を覚えておけば良いでしょう。

ASY!ここで説明するHTTPステータスコードは、インターネット上で普通は単に「エラーコード」と呼ばれる事が多いです。
ただ、これだけインターネットが普及してくると技術文書が公開される事も多いので紛らわしい表現は避けるようにしたほうが好ましいと思います。

そもそもHTTPってなんですか?

ASY!HTTPの意味〕HTTPはThe Hypertext Transfer Protocolの略で、rfc1945文書に規定されている。HTTPを簡単に言うと「ネットワークでホームページなどの文書をやり取りする方法」という意味。つまり、HTTPとは「ハイパーテキスト(要するにホームページなんか)でやり取りしようね」という宣言だったんですね。

ASY!皆さんのウェブサイトの場所を表すときに使うhttp://のHTTPは、こんな風に決められていたのを知っておくと鼻が高いかもしれない。
  ホームページをウェブサーバーへ転送する時に使われるFTP(File Transfer Protocol)も同じように決められた。FTPには送信したデータが間違っていないか確認する機能が含まれてる。だからデータ内容にミスが許されないファイルはFTPで送信する。

ASY!それではどうしてウェブサイト転送にFTPが使われないのかっていうと、HTTPはデータ確認の手間を省いて転送速度を速めているからなんです。 

ポピュラーなHTTPステータスコードのリスト

ASY!よく使われるコード番号を解説します。もちろん全てを覚える必要は無く、調べたくなった時に参照すれば事足りるでしょう。
 HTTPステータスコードは皆さんのリクエストに対してウェブサーバーが返す返事。問題を解決するためのヒントが隠されています。

200 - OK
301 - Moved Permanently
302 - Found
307 - Temporary Redirect
400 - Bad Request
401 - Unauthorized
403 - Forbidden
404 - Not Found
405 - Method Not Allowed
406 - Not Acceptable
407 - Proxy Authentication Required
408 - Request Timed Out
409 - Conflicting Request
410 - Gone
411 - Content Length Required
412 - Precondition Failed
413 - Request Entity Too Large
414 - Request-URI Too Long
415 - Unsupported Media Type
416 - Requested Range Not Satisfiable
417 - Expectation Failed
500 - Internal Server Error
501 - Not Implemented
502 - Bad Gateway
503 - Service Unavailable
504 - Gateway Timeout
505 - HTTP Version Not Supported

ASY!ステータスコードは内容によって幾つかのグループに分けられています。

100番台 通知(現在は未使用)
200番台 成功
300番台 リダイレクション
400番台 クライアントエラー
500番台 サーバーエラー


200 - OK
ウェブサーバーへのリクエストの度に送られてきているけど、問題が無いので表示しません。

301 - Moved Permanently
永久に移動したという意味で、元の場所から別の場所へ移転する場合に使用します。 

307 - Moved Temporarily
一時的に移動したという意味で、何らかの理由で暫定的な場所へ移っている状態。同様の意味を持つ302が目的外用途に乱用された為に追加されたもの。

401 - Unauthorized
これになると普通は Authorization Required と表示される。 表示するのに「許可が必要」なので管理者にパスワードを教えてもらってください。

403 - Forbidden
「禁じられた」という意味。原因の多くはアクセスが禁止された場所をリクエストした場合です。

404 - Not Found
存在しない場所を見ようとしました。

408 - Request Timed Out
アクセスが集中したりネットワーク経路に障害があったりした時に出て、再リクエストで解決する事もある。動画サイトや掲示板なんかのサイトで多く見かけます。

500 - Internal Server Error
自分でCGIをインストールする人にはお馴染み。「サーバー内部エラー」は汎用のプログラムのバグで起こる事は余り無くて、パーミッションや文字コードや全角スペース、ファイルロックのエラーが原因だったりします。

HTTP301の.htaccsessでの指定方法

ASY!UNIX系HTTPD(以前はBSDやリナックスのWWWサーバーをこんな風に表現していました)では一般に.htaccsessで指定します。この設定を使うと検索エンジンの評価を移転先ページへ引き継ぐことが出来ます。
  ファイル内に次のように書き入れます。書き入れる順番や改行・空白行・スペースも意味を持つので書式にしたがって記述してください。スペースは半角を用います。

[ファイル毎に指定]
Redirect permanent /w3c/index.html http://hogehoge.com/abc/index.html
[ディレクトリ毎に指定]
Redirect permanent /w3c/ http://hogehoge.com/abc/

メモドメインごと移転する場合はDNSを書き換えることで対処できます。ドメインを管理している会社で変更方法をご確認下さい。

Google対策HTTPステータスコード おわり。ここで初級SEOスクールは終わりです。
 
ASY!は中・上級者向け情報も沢山掲載しています。
  続けて学びたい方は オリジナル404ページの作り方 へお進み下さい。