404・500・CORS・Mixed Content の違い

入門 | 9分 で読める | 2026.07.09

公式ドキュメント

まず結論

404、500、CORS、Mixed Content は、どれも「通信で失敗している」ように見えますが、原因の場所が違います。

表示主な意味見る場所
404URLに対応するものがないNetwork
500サーバ内部でエラーNetwork / サーバログ
CORSブラウザが別オリジン通信を止めたConsole / Network
Mixed ContentHTTPSページからHTTPを読もうとしたConsole / Network

同じ赤いエラーでも、確認すべき場所が違います。

404 Not Found

404は、指定したURLに対応するリソースが見つからない状態です。

例:

GET /images/logo.png 404

よくある原因:

  • パスの打ち間違い
  • ファイルが存在しない
  • 大文字小文字が違う
  • デプロイ時にファイルが含まれていない
  • ルーティング設定が合っていない

静的サイトでは、画像やCSS、JavaScriptのパス違いでよく出ます。

500 Internal Server Error

500は、サーバ側で予期しないエラーが起きた時の状態です。

例:

GET /api/users 500

404は「見つからない」ですが、500は「サーバは受け取ったが内部処理で失敗した」という意味です。

よくある原因:

  • サーバコードの例外
  • DB接続エラー
  • 環境変数不足
  • 外部APIエラー
  • 想定外の入力

500はブラウザだけでは原因が分からないことが多いです。サーバログやAPI側のログを確認します。

CORS

CORSは、ブラウザのセキュリティ制約です。

たとえば、https://app.example.com から https://api.example.com へAPI通信すると、オリジンが違います。この時、API側が許可していないとブラウザがレスポンス利用を止めます。

Consoleでは次のようなエラーが出ます。

Access to fetch at ... has been blocked by CORS policy

CORSは、APIがまったく動いていないとは限りません。サーバがレスポンスを返していても、ブラウザが「このページから読むことは許可されていない」と判断して止めることがあります。

Mixed Content

Mixed Contentは、HTTPSのページからHTTPのリソースを読み込もうとした時に起きます。

https://example.com
  -> http://example.com/image.png

HTTPSページの中にHTTPが混ざると、通信が安全でなくなるため、ブラウザがブロックすることがあります。

よくある原因:

  • 画像URLが http:// のまま
  • API URLが http:// のまま
  • 古い埋め込みタグを使っている
  • 開発環境のURLを本番に残している

切り分け順

DevToolsを開いたら、次の順で確認します。

  1. Consoleでエラー文を見る
  2. Networkで該当リクエストを見る
  3. Status Codeを見る
  4. Request URLを見る
  5. ResponseやHeadersを見る
症状最初に疑うこと
404URL・パス・ファイル存在
500サーバ処理・ログ
CORSAPI側の許可ヘッダー
Mixed Contenthttp/httpsの混在

実践メモ: エラー文を検索する前に、まず「どのURLに何を取りに行って、何番で失敗したか」を確認します。

まとめ

404は見つからない、500はサーバ内部エラー、CORSはブラウザの別オリジン制約、Mixed ContentはHTTPSとHTTPの混在です。

見た目は似ていても、原因の層が違います。ConsoleとNetworkを組み合わせて、URL、status、headersを確認する癖をつけると調査が速くなります。

次に読む記事

← 一覧に戻る
PR
PR
PR
PR