情報セキュリティマネジメント 2017年 春期 午前(科目A) 問46
問題文
PCからWebサーバにHTTPでアクセスしようとしたところ、HTTPレスポンスのステータスコードが404、説明文字列が“Not Found”のエラーとなった。このエラーの説明として、適切なものはどれか。
選択肢
ア:Webサーバ内に、URLで指定したページが見つからなかった。(正解)
イ:Webサーバのホスト名をDNSで検索したが、見つからなかった。
ウ:WebサーバへのIPパケットの経路が見つからず、HTTPリクエストがタイムアウトになった。
エ:Webサーバへのログイン時に指定した利用者IDが見つからず、ログインが拒否された。
🔒 解説は解答すると表示されます
HTTP 404エラー【情報セキュリティマネジメント解説】
正解の理由
HTTP(HyperText Transfer Protocol:ウェブページをやり取りする通信)で返ってきた「ステータスコード404」「説明文字列 'Not Found'」は、サーバ(サービスを提供するコンピュータ)側で「要求されたURLに対応するページやファイルが見つからない」ことを示します。つまり、クライアントのリクエストはサーバに届き、サーバが「その場所にコンテンツがない」と応答しています。したがって、正しい説明は ア の「Webサーバ内に、URLで指定したページが見つからなかった。」です。
補足:ステータスコードはHTTPが返す「結果コード」です。4xx台は「クライアント側に原因がある(要求した資源が無い、認証が必要等)」ことを示します。404はその代表で「Not Found(見つからない)」という意味です。
解法ステップ
- まず「HTTPレスポンスでコード404が返っている」ことに注目します。HTTPレスポンスが返っている=通信(TCP接続やDNS名前解決)が成功している場合が多いです。
- HTTPステータスの桁で意味を分けます。1xx/2xx/3xx/4xx/5xxのうち、4xxは「クライアント側のリクエストに問題がある(例:存在しないページの要求)」を示します。
- 404の標準的な意味を思い出します:「Not Found=要求したリソース(URLに対応するページ)がサーバ上に存在しない」。
- 他の選択肢(DNSで名前が見つからない、経路が見つからない、ログインIDがない)だと、そもそもHTTPレスポンスは返ってこないか、別のステータス(401/403など)になることを確認して除外します。
この流れで、ア が最も適切だと判定できます。
選択肢別の誤答解説
-
ア: Webサーバ内に、URLで指定したページが見つからなかった。
→ 正しい。HTTPの404/Not Foundはこれを表します。応答がサーバから返ってきている点も一致します。ア -
イ: Webサーバのホスト名をDNSで検索したが、見つからなかった。
→ 誤り。DNS(Domain Name System:ホスト名をIPアドレスに変換する仕組み)で名前解決に失敗すると、そもそもサーバのIPが分からずHTTPリクエスト自体が送れません。したがってHTTPレスポンス(404など)は返ってきません。ブラウザ上では「名前解決できません」や「サーバに到達できません」といったエラーになります。 -
ウ: WebサーバへのIPパケットの経路が見つからず、HTTPリクエストがタイムアウトになった。
→ 誤り。経路の問題やタイムアウトだとHTTPレスポンスは返りません。ブラウザは「接続できません」や「タイムアウト」と表示します。404とは別の状況です。 -
エ: Webサーバへのログイン時に指定した利用者IDが見つからず、ログインが拒否された。
→ 誤り。認証の問題であればHTTPでは401(Unauthorized:認証が必要)や403(Forbidden:権限なし)などが使われます。404は「リソースがない」意味で、ログインIDが無いことを示すものではありません。
よくある誤解
-
「404はネットワークに繋がっているかの判定には使える」
→ 誤り。404が返ってくる時点でネットワークとサーバへの到達は成功しています。ネットワーク障害は通常、HTTPレスポンスが返らない形で分かります。 -
「404=ファイルが存在しないだけ」
→ 部分的に正しいが注意点あり。URLの書き間違いや大文字小文字、末尾のスラッシュ、仮想ホスト設定、ルーティング・リダイレクト設定ミスなどでも404が出ます。単にファイルが無い以外の設定ミスでも発生します。
補足コラム
-
他のよく見るHTTPステータス(簡単まとめ)
- 200 OK:正常にページが返された。
- 301/302:ページが移動している(リダイレクト)。
- 401/403:認証や権限の問題(ログインが必要、禁止)。
- 500系:サーバ内部のエラー(サーバ側の不具合)。
-
企業の運用での対応イメージ
- ユーザから「ページが見つかりません」と報告があったら、まずURLの綴りと大文字小文字・末尾スラッシュを確認します。
- 正しいURLなのに404の場合は、Webサーバのドキュメントルートにファイルがあるかを確認します。
- サーバ側でアクセスログやエラーログを見れば原因が分かることが多いです。必要ならIT部門や委託先にログの確認を依頼します。
- リンク切れが頻発する場合は、カスタム404ページ(利用者向けの案内)やリダイレクトルールを整備します。
-
実際にHTTPレスポンスを簡単に確認する例(社内でITに確認するときの補助情報)
例えばコマンドラインでヘッダだけ確認するには次のようにします(curlが使える環境で)。curl -I http://example.com/nonexistentpage結果にHTTP/1.1 404 Not Foundのような行があれば、サーバが404を返しています。
FAQ
Q1. 404と403の違いは何ですか?
A1. 404は「要求したリソースがサーバに存在しない」。403は「リソースはあるが、アクセスが禁止されている(権限不足など)」を意味します。運用では、403なら認証や権限設定を、404ならファイルの存在やURLを確認します。
A1. 404は「要求したリソースがサーバに存在しない」。403は「リソースはあるが、アクセスが禁止されている(権限不足など)」を意味します。運用では、403なら認証や権限設定を、404ならファイルの存在やURLを確認します。
Q2. ブラウザでページが見える人と見えない人がいる。何が原因?
A2. キャッシュ・異なるホスト名・DNS設定・リダイレクトの設定・IP制限などが考えられます。まずURLを揃えて、DNSとサーバのアクセス制御を確認します。
A2. キャッシュ・異なるホスト名・DNS設定・リダイレクトの設定・IP制限などが考えられます。まずURLを揃えて、DNSとサーバのアクセス制御を確認します。
Q3. 404が返るがファイルはサーバ上にある。どう調べる?
A3. Webサーバのドキュメントルート、仮想ホスト設定、ファイルパーミッション(誰が読めるか)、サーバのルール(Rewriteやルーティング)をチェックします。アクセスログやエラーログが最も手がかりになります。
A3. Webサーバのドキュメントルート、仮想ホスト設定、ファイルパーミッション(誰が読めるか)、サーバのルール(Rewriteやルーティング)をチェックします。アクセスログやエラーログが最も手がかりになります。
関連キーワード: HTTP、ステータスコード、404、Not Found、DNS、タイムアウト、クライアントサーバ、URL、アクセスログ、リダイレクト、403、401

\ せっかくなら /
情報セキュリティマネジメントを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

