どうじんようごのきそちしき・しょきゅうねっとわーくじょうほう

■ 「エラーメッセージ」 ■

えらーめっせーじ

同人用語の基礎知識  / 初級ネット情報 / エラーメッセージ

 「HTTP error 404」ってどういう意味なんだろうとふと疑問に思い、サーバやブラウザが返す「エラーメッセージ」について少し調べてみました。正しくない部分もあるかも知れません(自信ないものには頭に★がついてます…)。明らかに間違っている部分があればどなたかご指摘下さい。勉強すれば全部の意味が分かるのかしらん?
 なお、基本的にはエラー番号400番台のものは見ようとする側に原因があり(アドレスを間違えたなど)、エラー番号500番台のものはサーバ側に原因があるとされてます。
 それにしても「正しくない要求」などとメッセージで言われても何が正しいんだか正しくないんだか、普通は判りませんね……。


そもそも数字は何を表しているの?

 ネットで検索したところ、 http://way.direct.ne.jp/HTTP/rfc2616_ja/ に置いてある「HTTP/1.1」のリソース(日本語訳)に辿り着きました。これによると、この数字は「ステータスコード」というもので、一番左の数字(百の位)に意味があるようです。

  • 1xx: Informational - リクエストは受け入れられ、処理を続けている

  • 2xx: Success - 動作は正常に受信され、理解され、受け入れられた

  • 3xx: Redirection - リクエストを完了するためには、さらに動作を行わなければならない


ここまでは「エラーメッセージ」というワケではないようです。 そして、

  • 4xx: Client Error - リクエストは間違った構文か、果たす事のできないものを含んでいる

  • 5xx: Server Error - サーバは明らかに正当なリクエストを果たすのに失敗した


と、エラーなのはどうやら4xxと5xxに絞られてきました。一応下では1xx〜3xxもちょっとだけ説明してます。

ページ先頭へ


100〜305

 あまりブラウザ上で見かけることはないのですが、メッセージ番号には下のようなものがあります。

  • 100 Continue
  • 101 Switching Protocols
  • 200 OK
    └これは「NPH」方式で掲示板を設置するときやリンクチェッカーを使うと見ます。
     「正常に送信できた」という意味のようです。
  • 201 Created
  • 202 Accepted
  • 203 Non-Authoritative Information
  • 204 No Content
  • 205 Reset Content
  • 206 Partial Content
  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Moved Temporarily
    └「http://www.uso.ne.jp/~makoto」にアクセスして
     「http://www.uso.ne.jp/~makoto/index.html」にリダイレクトされる原理らしいです。
  • 303 See Other
  • 304 Not Modified
  • 305 Use Proxy
    串使え!って意味?
     「Iria」のエラーについて言及しているページでは、「Proxyのキャッシュを使用した」ということだそうです。
  • 306 (予約)
  • 307 Temporary Redirect

ページ先頭へ


400 Bad Request 正しくない要求

 URLが(DNS)サーバに理解できなかったか、通信中に何らかのエラーが生じた時のエラーです。サーバがダウンしていたり、途中の回線が切れてる可能性もあります。
…↑でもこれが「正しくない要求」なんでしょうか?(こちらは悪くない…)URLミスやドキュメントがないといった場合にもこのエラーが出ることがあるようです…。

ページ先頭へ


401 Unauthorized 認証失敗

 パスワード制限のかかっているサイトで、ユーザ名とパスワードを入力しなかったり、間違っていたりした場合に見かける「エラー」です。
 会員制サイトでパスワードをミスった時に見ます…。

ページ先頭へ


402 Payment Required

有料コンテンツである。


…とのことですが、このコードは今は使われてません。このコードは、将来の使用のため予約されている。(HTTP/1.1のリソースより)そうです

ページ先頭へ


403 Forbidden
「アクセス拒否」

 そのURLやサーバからアクセスを拒否された、ということですが、そこのページの管理人が自分を嫌っているから…というワケではなく、プロバイダやサーバ会社などがアクセス拒否をしていることが多いです(サーバによっては特定のフォルダの特定のファイルに対しアクセス拒否をかけているようです)。
 あるいはそこのページ作成者がCGI設置の際などにパーミッション指定ミスした場合もあります。ワタシもやったことあります(汗)。

 ところでIEは「このディレクトリまたはページを表示できるはずと思う場合は、電子メールを使用するか、ホームページに電話番号が記載されている場合は、電話を使用してWeb サイトへの問い合わせてください。」 というメッセージを返します。できるはずと思う場合に…電話って……。

 ↑に関連して…普通、電子メールを送る必要は生じないと思いますが、
  • URLが
    「http://www.xxxx.ne.jp/~keikouto/…」(実在しません)
    …ならば「keikouto@xxxx.ne.jp」(嘘アドです)にメールで問い合わせるといいでしょう。(「~」(チルダ)があればその後に続く文字列がアカウントです…)

  • また「~」が入っていないURL、例えば
    「http://www.dame-ningen.com/odoru/(以下略)」(ナイです)
    のような感じで、トップページが個人サイトや商店サイトのような感じならば、「webmaster@dame-ningen.com」や「info@dame-ningen.com」にメールしてみて下さい。

  • さらにURLが
    「http://yesterday.ones-more.org/(実在しませんって)
    といった場合は、「webmaster@ones-more.org」または「yesterday@ones-more.org」に問い合わせれば判るかも知れません。
    (でも同人用語のURLは「http://human-dust.kdn.gr.jp/doujin/」なんですが、「human-dust@kdn.gr.jp」というメールアドレスは存在しないです…)

ページ先頭へ


404 File Not Found
「URLで指定されたファイルまたはディレクトリが存在しない」

 一番多く見かけるエラーではないでしょうか…。まずはURLが間違っていないか確認して下さい。個人ページからのリンクは意外とリンクミスも多いです(この場合は同ジャンルのさらに他のサイトのリンクから探し出すと良いでしょう)。URL手打ちまたはコピペの場合は誤字脱字をチェックして下さい。
 あるいは、以前はそこにファイルが存在したけど現在は消滅した…ということもかなり多いです。gooやgoogleなどのロボット式検索で調べるとよくぶちあたります。サーバによっては、前述の403エラーの場合でもこちら「404」を返すものもあるようです。

→たどり方・1「ディレクトリ消し

ページ先頭へ


★ 405 リソース利用不可/406 受信不可

「SHDOCLC.dll」上では『検索中のリソースは、このブラウザで開くことができません』とのこと。
 HTTP/1.1のリソースによれば、
405 Method Not Allowed
 リクエストラインに記述されたメソッドは、リクエストURIによって識別されるリソースに許可されていない。

406 Not Acceptable
 リクエストによって識別されるリソースは、リクエストで送られた受け入れ可能{accept} ヘッダによれば受け入れられない内容の特性を持つエンティティのみがレスポンスエンティティとして生成可能である。
 要求されたアドレスからは、受け入れ側では受け入れられないものしかレスポンスすることが出来ません、という意味…かな?(自信なし)

ページ先頭へ


★ 407 Proxy Authentication Required

 これは「401」に似てますが、「クライアントが最初にプロクシに認証されなければならない事を示す」とのことです。プロキシ用のIDとpasswordが必要になるようですが、見たことないなぁ。

ページ先頭へ


★ 408 受信不可/409 リソースの競合

 これも「SHDOCLC.dll」上で見つけたのですが詳細イマイチ不明です。
408 Request Timeout
 『サーバーが込み合っているのですぐには配信できない』または『サーバーが指定した時間内に要求を実行できなかった』です。このエラーの場合は暫く待ってから再アクセスすればいけるかも知れません。

409 Conflict
 『リクエストは、リソースの現在の状態との矛盾のため完了できなかった。』…とのことです。

ページ先頭へ


410 GONE 「削除済み」

 これもまた「SHDOCLC.dll」上にあるですが実際に目にしたことはありません。「そのページは既に削除されました」という意味合いですが、普通はこのような時も「404 File Not Found」のエラーが出ますね…。
 HTTP/1.1のリソースによれば、これは「永久に」そのアドレスに何か置かれることがない時に出すべきメッセージだそうです(「二度と置かれることがない」旨を受信者に強くアピールしたいときに使うべき、というのかな)。

ページ先頭へ


411〜414

 ほとんど見ないので、HTML/1.1リソースなどから転載します…

411 Length Required
 「サーバは、定義された Content-Length の無いリクエストを受け入れる事を拒否した。」「必要なContent-Lengthヘッダーがないことを示す」ようです。

412 Precondition Failed
 直訳すると「準備失敗」なのですが、「一つ以上のリクエストヘッダフィールドで与えられた前提条件は、それがサーバでテストされたときに偽であると評価された。」ことのようです。
 マイクロソフトのサイトによれば、「この要求で設定された条件が満たされず、要求を実行できないことを示します。条件は、If-Match、If-None-Match、If-Unmodified-Since などの条件要求ヘッダーで設定します。

413 Request Entity Too Large
 「要求が大きすぎる」ことを意味し、「リクエストエンティティがサーバが想定、あるいは処理可能なものより大きいため、サーバはリクエストの処理を拒否している」とされています。

414 Request-URI Too Long
 「サーバが中間処理をするために想定しているリクエストURIより長いため、サーバはリクエストのサービスを拒否している」、ごくまれなエラーのようです。

ページ先頭へ


★ 415 Unsupported Media Type

 「WWWサーバが指定されたメディアのタイプをサポートしてない」とのこと。

★ 416・417

  • 416 Requested Range Not Satisfiable
     「実ファイルを超えた量のデータを要求している」。(一見さん掲示板での情報ありがとうございます)
     マイクロソフトのサイトに依ると、「リソースから要求されたデータの範囲を返すことができないことを示します。その原因は、範囲の先頭がリソースの先頭より前であるか、範囲の末尾がリソースの末尾より後ろであるかのいずれかです。」ということのようです。

     なお、ワタシは「2ちゃんねるブラウザ(Jane)」を使用している時にこのエラーを見ました。「レス新着を確認する際に、それ以前のレスにて削除が行われている時」に出ました。荒らされているスレで見られます。→画像

  • 417 Expectation Failed
     「拡張は、このサーバでは受け入れる事はできないし、あるいはサーバがプロクシであったなら、次に到達するサーバがそのリクエストを受け入れる事ができないという明白な証拠を持っている。
     マイクロソフトのサイトに依ると、「サーバーが Expect ヘッダーで指定された要求を満たすことができないことを示します。

ページ先頭へ


500 Internal Server Error

 いわゆる「サーバー内部エラー」。「サーバが予期しない状態になっている」…ということですが、大抵は単純に(そこの管理人の)CGIの設定ミス、またはCGIスクリプトのバグ等です。(「Content-type」あるいは「Locationヘッダ」の記述がない場合も多いようです )
 CGIスクリプトの掲示板を自分で設置したことのある人ならば、多分一度は見ている…ハズです。

 もし行きつけのサイトの掲示板がこの状態になっていたらそこの管理人さんに教えてあげましょう…。

ページ先頭へ


501 Not Implemented
「サーバはそのような要求をサポートしていない」or「未実装」

 「サーバが実行できない」要求をした、ということです。

ページ先頭へ


502 Bad Gateway

 「Proxyサーバとしてそのような要求はサポートしていない。」(IEでのメッセージ)
 「ゲートウェイもしくはプロキシサーバが上流から無効なレスポンスを受け取った」とのことです。プロキシサーバなどが返すメッセージなので、生IPで接続していたら関係ないかな?

ページ先頭へ


503 Server Unavailable 「WWWサーバは一時的にサービスができない状態になっている。」

 「サーバは一時的な過負荷かサーバのメンテナンスの為現在リクエストを扱うことができない」とのこと。このメッセージが出た場合、しばらく待てばまた見ることができる、でしょう。

ページ先頭へ


504 Gateway Timeout

 「ゲートウェイやプロクシとして動作するサーバは、URI によって特定されるアップストリームサーバ (例えば HTTP, FTP, LDAP) や、リクエストを完了させようとするためにアクセスに必要な他の補助のサーバ (例えば DNS) から適時のレスポンスを受信しなかった。」、要するにProxyかDNSのタイムアウトです。
 DNSのタイムアウトの場合には、「500」や「400」が返ってくることもあるようです。

ページ先頭へ


★ 505 HTTP Version not supported 「未サポート」

 「サーバは、リクエストメッセージで使用されたHTTP プロトコルバージョンをサポートしていない、あるいはサポートを拒否している。

ページ先頭へ


「サーバーが見つかりません」

 Win(98SE)版IEの場合は
IEの場合の画面


 Win版NN(4.75)の場合は
NNの場合の画面


 のような画面の出るエラーは、
  • 存在しないサーバー名を入力した場合
     例えば
    http://human-dust.kdn.gr.jp/

    http://human-dust.kdn.gg.jp/
    のように入力してしまった場合

  • そもそもネットに繋がっていない場合
     自分の使用している接続プロバイダに問題があったり、自宅のLANケーブルやボードに異常があったりする場合


に起こります。

ページ先頭へ


参考資料

  • アスキーネットJ 2001年8-9号
  • Microsoftサイト内の資料
    http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemnethttpstatuscodeclasstopic.asp
  • いくつかの海外サイト様
    http://faq.his.com/webhosting_http_errors.html

ページ先頭へ