画像ツール一覧

404 Not Found

404 Not Found

運用・現場

ブラウザなどのクライアントがサーバーに対してリクエストを送った際、指定されたURLに該当するページやファイルが見つからない場合に返されるHTTPステータスコードのことです。

🐾 猫で例えると?

カーテンの向こうに見える茶トラとアメショの姿
カーテンの向こうの猫たちから、もし探す場所にいなかったらと想像

写真ではカーテンの向こうに猫たちが見えます。では、同じ場所をのぞいても一匹もいなかったら、と想像してみましょう。「探しているものは、この場所にはない」と返すのが404のイメージです。HTTPでも、要求された対象が見つからないことを応答で知らせます。猫が別室へ移った理由まで、その返事だけで分かるわけではありません。

🐾 PR

💻 IT現場における「404 Not Found」とは?

404は「4xx:クライアントエラー」の分類ですが、利用者の操作が悪いと断定する番号ではありません。サイト側のリンク切れや公開設定の誤りでも発生します。また、404だけでは一時的な不在か恒久的な削除かを区別できません。

原因として、URLの打ち間違い、ページの削除、移転後の転送漏れなどがあります。削除済みで代わりのないURLが404を返すのは正常です。大切なのは、存在するはずのページやサイト内の案内リンクが意図せず404になっていないかを確認することです。

⚠️ 404 Not Foundの仕組みと注意点

ブラウザがWebサイトを表示しようとする際、裏側では「HTTPリクエスト」と「HTTPレスポンス」のやり取りが行われています。404レスポンスが返されるまでの流れは以下の通りです。

  1. ユーザーが特定のURLをクリック、またはアドレスバーに入力する。
  2. ブラウザがサーバーに「このページをください」とリクエストを送る。
  3. サーバーが自らのファイルシステムやデータベースを検索する。
  4. 該当するデータが見つからなかった場合、サーバーはステータスコード「404」を返却する。

カスタム404ページの重要性

サーバー標準の無機質なエラー画面が表示されると、ユーザーは「サイトが壊れた」と勘違いして離脱してしまいます。そのため、モダンなWeb開発ではブランドに合わせた「カスタム404ページ」を用意するのが一般的です。猫の画像や、サイト内検索、トップページへのリンクを配置することで、ユーザーを正しく誘導することができます。

// Expressアプリで、通常のルート定義より後に置く
app.use((req, res) => {
  res.status(404).send('お探しのページは見つかりませんでした。');
});

これは初期化済みのExpressアプリへ追加する断片です。見た目の404画面を表示しても、HTTPステータスが200のままだと「ソフト404」と扱われる場合があります。ブラウザーの開発者ツールのNetworkで、実際の応答コードも確認しましょう。

🛠️ 404 Not Foundを賢く管理するためのポイント

エラーは無いに越したことはありませんが、発生した際にどう対処するかがWebエンジニアの腕の見せ所です。

猫が見当たらないときに探す場所を変えるように、404画面でも次の行き先を案内します。関連ページやトップへのリンクを用意し、URLの誤りやサイト内のリンク切れを確認しましょう。移転先が決まっているページは、そのページへの転送を検討します。