404 Not Foundとは
404 Not Found(フォー・オー・フォー・ノット・ファウンド)は、要求された資源をサーバー上で見つけられないことを示すHTTPステータスです。
オリジンサーバーへHTTP要求が届いたうえで、振り分け先資源の現在の表現データを見つけられない、または存在を明かしたくないときに返します。DNSエラーやネットワーク未到達より後の層です。
404が見えるなら、少なくとも何らかのHTTPサーバーやプロキシから応答を受け取れています。「インターネットにつながっていない」ことを直接示すコードではありません。

よくある四つの原因
サーバーによっては大文字と小文字を区別します。パーセント符号化や末尾のスラッシュも経路へ影響します。
ファイルが存在しても、ドキュメントルートの外ならWeb上の資源として見つかりません。ビルド時の出力漏れも確認します。
GET用の経路だけ、APIの版違い、引数不一致などを確認します。
権限拒否を404として返すセキュリティ方針があります。
404・410・DNSエラーを分ける
| 状態 | 分かること | 調べる場所 |
|---|---|---|
| 404 | サーバーが現在の資源を見つけない、または隠す | パス、経路、配置、権限 |
| 410 Gone | 資源が恒久的に利用不能とサーバーが認識 | 削除方針、代替先 |
| DNSエラー | 接続先アドレス等を名前から得られない | リゾルバー、記録、委任 |
404だけでは一時的か恒久的かは分かりません。恒久削除を把握しているなら410、移転先があるなら301など、資源のライフサイクルに合うステータスを検討します。
単一-ページアプリケーションの404
SPAでクライアント側の経路制御を使うと、画面内の移動は動くのに、URLを直接再読込するとWebサーバーがファイルを探して404になることがあります。未知のパスをすべてindex.htmlへ書き換えつつ、アプリケーション内部で実在しない経路には正しい404の意味を返す設計が必要です。
静的ホスティングでは代替処理設定、基準パス、素材URL、大小文字を確認します。すべて200で索引.HTMLを返すと見かけ上の404になります。
キャッシュと修正後の確認
404は推測規則キャッシュ可能です。一時的な公開遅延で404を返す場合はキャッシュ制御を設計し、修正後もブラウザー・CDNのキャッシュ済み404が残っていないか確認します。
アクセスログの要求振り分け先、Host、メソッド、応答生成層、参照元を照合し、壊れた内部リンクを修正します。利用者向け404ページには検索や上位画面遷移を置けますが、ステータスは404のままにします。
404はHTTP接続後に振り分け先資源を見つけられない、または存在を公開しないステータスです。DNS・ネットワーク障害と分け、パス、公開配置、アプリケーションの経路、権限、キャッシュを順に調べます。
不在・存在秘匿・410との関係:RFC 9110「404 Not Found」