← 用語集一覧へ戻る

404エラー

404 Not Found
network web beginner
アクセスしたURLにページが存在しないとき、サーバーが返すエラーのこと。URLの打ち間違い、ページの削除、リダイレクト未設定などが主な原因となる。
404エラー (404 Not Found)

概要(サマリー)

404エラー(404 Not Found)とは、ユーザーがアクセスしようとしたURLに対応するページがサーバー上に存在しないことを示すエラーのことである。ウェブサイトを閲覧中に「お探しのページが見つかりません」と表示されたとき、その裏では「404」というコードがサーバーから返されている。URLの打ち間違いや、ページの削除、移動後のリダイレクト設定漏れなどが主な原因となる。開発・運用の両面で頻繁に遭遇するため、仕組みを正しく理解しておきたい基本的なエラーである。

詳細解説

404エラーが起きる仕組み

Webブラウザがあるページにアクセスするとき、ブラウザはサーバーに対して「このURLのページをください」というリクエストを送る。サーバーは受け取ったURLを確認し、対応するファイルやページが見つかれば「200 OK」(成功)とともにページを返す。しかし、対応するものが見つからない場合は「404 Not Found」というステータスコードを返す。

つまり404は、サーバーが「そのURL、うちには存在しませんよ」と正直に答えているサインである。

よくある原因

404エラーが発生する主な場面をまとめると、以下のようになる。

  • URLの入力ミス: example.com/about のつもりが example.com/aboit と打ち間違えた場合
  • ページの削除: 一度公開したページを後から削除したとき
  • ページの移動・リネーム: スラッグ・パーマリンクを変更したにもかかわらず、古いURLへのリダイレクト設定をしていないとき
  • リンク切れ: 他サイトや自サイト内のリンクが古いURLのままになっているとき
  • 大文字・小文字の違い: サーバーによっては /About/about が別のURLとして扱われる場合がある

開発者・管理者が知っておくべきこと

Webサイトを作ったり管理する立場では、404エラーは「放置してよいもの」とは限らない。404そのものがすぐにペナルティになるわけではないが、重要なページが消えていたり、内部リンクが古いURLのまま残っていたりすると、ユーザー体験や検索エンジンの巡回効率に悪影響が出る場合がある。

ページを移動した場合や、内容が近い新しいページがある場合は、古いURLから新しいURLへリダイレクト設定を行うことが推奨される。一方で、代替ページがなく完全に削除したページであれば、404のままにする、または「410 Gone」を返すほうが自然な場合もある。WordPressなどのCMSでは、リダイレクトプラグインを使って管理するのが一般的だ。

また、多くのウェブサイトでは「404ページ」と呼ばれる専用のエラーページを用意している。何もない白いページを表示するより、ナビゲーションや案内文を含むページを用意しておくほうが、ユーザー体験(UX)の観点からも親切である。

APIとの関係

APIを開発・利用するときにも404エラーはよく登場する。たとえば GET /users/123 というリクエストで「id=123 のユーザーが存在しない」場合、多くのAPIは404を返す。これは「サーバーは動いているが、指定されたリソースが存在しない」ことを示している。

AIに「APIが動かない」と相談したとき、AIが「404が返っていませんか?」と問い返す場面は多い。ステータスコードの意味を理解していると、こうしたやりとりがぐっとスムーズになる。

AIコーディングと404エラーの関係

AIコーディングでWebアプリやAPI連携を作るとき、404エラーは原因調査の重要な手がかりになる。たとえば「このAPI呼び出しで404が返る原因を、URL、ルーティングエンドポイント、IDの存在確認の観点から調べてください」と指示すると、AIは確認すべきポイントを整理しやすい。

ただし、AIが生成したコードだけを見ても、実際のサーバー設定やデータベース上のリソース有無までは判断できないことがある。404が出たときは、リクエスト先のURL、HTTPメソッド、エンドポイントの定義、ルーティング設定、対象データの存在をあわせて確認することが大切である。

よくある勘違い

404エラー = サーバーが壊れている?

そうではない。404はサーバーが正常に動作しているからこそ返せるエラーである。サーバー自体が落ちていれば、そもそも応答が返ってこない(タイムアウト)か、502・503といった別のエラーになる。

500エラーと同じもの?

異なる。404は「ページが見つからない」というリクエスト側の問題であるのに対し、500は「サーバー内部でエラーが発生した」というサーバー側の問題である。ステータスコードの番号体系では、4xx系がクライアントエラー、5xx系がサーバーエラーと分類されている。

URLの大文字・小文字は関係ない?

サーバーやルーティング設定によって異なる。一般にLinux系の環境ではURLの大文字・小文字が区別されやすく、/About/about が別のURLとして扱われることがある。Windows系の環境ではどちらでも同じように扱われる場合もある。予期せぬ404を防ぐためにも、URLは小文字に統一する習慣をつけておくとよい。

404ページは何もしなくていい?

放置でよいとは限らない。カスタム404ページを用意しないと、サーバーデフォルトの味気ない画面が表示される。ユーザーが迷子にならないよう、トップページへのリンクや検索ボックスを置いた専用ページを設けておくのが丁寧な設計である。

より詳しくAIに聞いてみよう

  • 404エラーとは何かを、中学生でもわかるように説明してください。
  • 4xx系と5xx系のHTTPステータスコードの違いを、初心者向けに整理してください。
  • Webサイトのページを削除・移動したときに404エラーを防ぐ具体的な方法を教えてください。
  • APIの開発中に404エラーが返ってくる場合、どのような原因が考えられますか?
  • AIコーディングでAPI通信のエラー処理を実装するとき、404エラーをどう扱えばよいか教えてください。