Home
1081 words
5 minutes
Chromiumネットワークエラーコード完全仕様:net_error_list.hに基づく体系的解説

last_modified: 2026-01-27

技術的根拠: 本記事の分類およびコード定義は、Chromiumプロジェクトのソースコード net/base/net_error_list.h を「唯一の信頼できる情報源(Single Source of Truth)」として参照しています。

1. エラーコードの内部構造と範囲定義#

Chromiumのネットワークスタックは、エラーを以下の範囲(Range)で管理している。この構造を理解することで、エラー番号から障害レイヤーを即座に特定可能となる。

範囲 (Range)カテゴリ主な対象
0 〜 -99System & GenericOSレベルのIOエラー、汎用的な失敗
-100 〜 -199ConnectionTCP/IP接続、DNS解決、アドレス管理
-200 〜 -299Certificate (SSL/TLS)証明書検証、チェーン検証、失効確認
-300 〜 -399HTTP & ProtocolHTTPレスポンス、リダイレクト、HTTP/2
-400 〜 -499Cacheディスクキャッシュの読み書き整合性
-500 〜 -599(Reserved)未使用領域
-600 〜 -699FTPFTPプロトコル(現在サポート縮小傾向)
-700 〜 -799Certificate Managerクライアント証明書ストア操作
-800 〜 -899DNS Resolver内部DNSリゾルバの詳細挙動

※Chromiumの実装上、エラーコードは負の値(例: -105)で返されるが、コンソール等では正の値(ERR_NAME_NOT_RESOLVED)として表示されることが多い。

2. System & Generic Layer (0 to -99)#

ネットワーク以前の、システムコールやAPIレベルでの障害。

  • ERR_FAILED (-2)
    • 意味: 汎用的な失敗。より具体的なエラーコードに該当しない場合の「Catch-all」として機能する。
  • ERR_ABORTED (-3)
    • 意味: ユーザー操作(停止ボタン押下)や、ページのナビゲーション変更によってリクエストが中断された。
  • ERR_INVALID_ARGUMENT (-4)
    • 意味: 関数への引数が無効。内部ロジックのバグや不正な設定値。
  • ERR_ACCESS_DENIED (-10)
    • 意味: ファイルやソケットへのアクセス権限不足。OSのパーミッション設定やサンドボックス制限。

3. Connection Layer (-100 to -199)#

物理層からトランスポート層までの接続確立プロセス。

アドレス・インターフェース関連#

  • ERR_ADDRESS_INVALID (-108)
    • 意味: IPアドレスのフォーマットが無効、または到達不可能なアドレス(0.0.0.0等への接続試行)。
  • ERR_ADDRESS_IN_USE (-147)
    • 意味: ローカルポートの競合。指定されたポート番号が既に他のプロセスに占有されている。
  • ERR_NETWORK_CHANGED (-21)
    • 意味: 通信中にネットワークインターフェースの変化(Wi-Fiから4Gへの切り替え、IPアドレス変更)が検知された。

接続確立・維持#

  • ERR_CONNECTION_TIMED_OUT (-118)
    • 意味: SYNパケットに対するACK応答なし。ファイアウォールによるドロップの可能性大。
  • ERR_CONNECTION_RESET (-101)
    • 意味: TCP RST受信。Deep Packet Inspection (DPI) やサーバー側の強制切断。
  • ERR_SOCKET_NOT_CONNECTED (-15)
    • 意味: データ送受信を試みたが、ソケットが接続状態にない。パイプライン処理の不整合など。

4. Certificate & SSL/TLS Layer (-200 to -299)#

現代のWebにおいて最もトラブルシューティングが困難なセキュリティレイヤー。

検証・信頼性#

  • ERR_CERT_COMMON_NAME_INVALID (-200)
    • 意味: 証明書のSANsとホスト名の不一致。
  • ERR_CERT_DATE_INVALID (-201)
    • 意味: 有効期限切れ(Expired)または開始前(Not Valid Yet)。クライアント時刻ズレも原因となる。
  • ERR_CERT_AUTHORITY_INVALID (-202)
    • 意味: 未知の認証局(自己署名証明書など)。

高度なセキュリティ要件#

  • ERR_CERT_REVOKED (-205)
    • 意味: CRLやOCSPにより、証明書の失効(Revocation)が確認された。
  • ERR_CERT_WEAK_SIGNATURE_ALGORITHM (-208)
    • 意味: SHA-1など、暗号学的に脆弱な署名アルゴリズムが使用されている。
  • ERR_CERTIFICATE_TRANSPARENCY_REQUIRED (-214)
    • 意味: Certificate Transparency (CT) ログへの登録が確認できない。EV証明書や特定のブラウザポリシーで必須。

5. HTTP & Protocol Layer (-300 to -399)#

アプリケーションプロトコル固有のエラー。HTTP/2やQUICの普及により重要度が増している。

HTTP/1.1 & General#

  • ERR_TOO_MANY_REDIRECTS (-310)
    • 意味: リダイレクトループ検出(通常20回以上)。
  • ERR_EMPTY_RESPONSE (-324)
    • 意味: 接続は確立したがデータが0バイトで切断された。

Modern Protocols (HTTP/2, QUIC)#

  • ERR_HTTP2_PROTOCOL_ERROR (-337)
    • 意味: HTTP/2のフレーミングエラー、ヘッダ圧縮(HPACK)の不整合、またはストリーム管理の違反。
  • ERR_QUIC_PROTOCOL_ERROR (-356)
    • 意味: QUIC接続におけるUDPパケットの不整合や暗号化ハンドシェイクの失敗。ファイアウォールによるUDP遮断でTCPへフォールバックする過程で記録されることもある。

6. Cache Layer (-400 to -499)#

ブラウザのディスクキャッシュに関連するIOエラー。

  • ERR_CACHE_READ_FAILURE (-401)
    • 意味: ディスクからのキャッシュデータ読み出しに失敗。ファイルシステムの破損やディスク障害の可能性。
  • ERR_CACHE_WRITE_FAILURE (-402)
    • 意味: キャッシュ書き込み失敗。ディスク容量不足(Disk Full)で発生頻度が高い。
  • ERR_CACHE_MISS (-400)
    • 意味: 必要なリソースがキャッシュに存在しない(「フォーム再送信の確認」画面などで発生)。

7. 結論#

Chromiumのエラーコード体系は、単なるトラブルシューティングの識別子ではなく、ブラウザがネットワークをどのように抽象化・階層化しているかを映す鏡である。 net_error_list.h に定義されたこれらのコードを理解することは、Webアプリケーションのデバッグのみならず、ネットワークプロトコルの深い理解へと繋がる。

Chromiumネットワークエラーコード完全仕様:net_error_list.hに基づく体系的解説
https://ss0832.github.io/posts/20260127_errr_code_browser/
Author
ss0832
Published at
2026-01-27
License
CC BY-NC-SA 4.0