[11] [DFN[[RUBYB[[[ネットワークエラー]]]@en[network error]]]]は、
[[fetch]] における通信上の誤りを表す特殊な[[応答]]です。

* 仕様書

[REFS[
- [2] [CITE@en-US[Fetch Standard]] ([TIME[2015-02-26 23:10:46 +09:00]] 版) <https://fetch.spec.whatwg.org/#concept-network-error>
]REFS]

* ネットワークエラー応答

[3] [DFN[[RUBYB[ネットワークエラー]@en[network error]]]]は、
[[型]]が[[誤り]]の[[応答]]です [SRC[>>2]]。
この[[応答]]は次のようなものです [SRC[>>2]]。
[FIG(list members short)[
[FIGCAPTION[
[[応答]]
]FIGCAPTION]
:[[型]]:[[誤り]]
:[[状態]]:[[0]]
:[[状態メッセージ]]:[[空バイト列]]
:[[ヘッダーリスト]]:空
:[[本体]]:[[null]]
:[[キャッシュ状態]]:[[なし]]
]FIG]

[13] [[ネットワークエラー]]には、[[aborted network error]] が含まれます。

* 文脈

[5] [[ネットワークエラー]]には、例えば次のようなものがあります。
[FIG(list)[
- [[OS]] の[[ネットワーク]]接続のエラー
-- 利用できる接続が存在しない
-- [[ネットワークインターフェイス]]がエラーにより使えない
- [[名前解決]]のエラー
-- [[名前解決]]のサーバー接続のエラー
-- [[名前解決]]に失敗する
-- [CODE[[[ICANN_NAME_COLLISION]]]]
- [[TCP/IP]] のエラー
-- 指定した [[IPアドレス]]への[[経路]]がない
-- 指定した [[IPアドレス]]から返答がない
-- [[ICMP]] エラーの受信
-- [[TCP接続]]を確立できない
-- [[TCP]] [CODE[[[RST]]]]
- [9] [[プロキシ]]のエラー
-- [[PAC]] の [[JavaScript]] エラーなどのため[[プロキシ]]を決定できない
-- [[プロキシ]]の接続のエラー
-- [[SOCKS]] プロトコルのエラー
-- [[HTTP]] [[プロキシ]]の [CODE(HTTP)[[[407]]]] [[応答]] ([[ダイアログ]]キャンセル時)
-- [[HTTP]] [CODE(HTTP)@en[[[CONNECT]]]] [[プロキシ]]の [[HTTP]] エラー応答
- [7] [[TLS]] のエラー
-- [[TLS session]] を確立できない
-- [[TLS error alert]] を受信した
--- [[クライアント認証]]エラー
-- [[証明書エラー]]
- [8] [[HTTP]] のエラー
-- [[メッセージ]]としての構文上の問題がある
--- 空の[[応答]]
--- ヘッダーが長すぎる
--- メッセージ途中で途切れている
-- [CODE(HTTP)@en[[[chunked]]]] の[[復号]]エラー
-- [[ストリームエラー]]や[[接続エラー]]
-- [[内容符号化]]を[[復号]]できない
-- 非[[プロキシ]]からの [CODE(HTTP)[[[407]]]] [[応答]]
- [10] [CODE(URI)@en[[[blob:]]]] [[fetch]] エラー
- [[Web]] セキュリティーエラー
-- [[同一起源ポリシー]]や [[CORS]] のエラー
- [[ブラウザー拡張]]の指示
-- [[fetch]] を監視する[[ブラウザー拡張]]によるエラー返答の指示があった場合
]FIG]

;; [6] [[HTTP]] の [CODE(HTTP)[[[4xx]]]] や [CODE(HTTP)[[[5xx]]]] は、
[[ネットワークエラー]]ではありません。

* 歴史

[1] [CITE@en[RFC 6797 - HTTP Strict Transport Security (HSTS)]]
( ([TIME[2014-06-02 05:16:10 +09:00]] 版))
<http://tools.ietf.org/html/rfc6797#section-12.1>

[4] [CITE@en[Ban "funny" responses for client requests. Fixes https://github.com/slig... · whatwg/fetch@9b4754b]]
([TIME[2015-04-08 11:06:13 +09:00]] 版)
<https://github.com/whatwg/fetch/commit/9b4754b9929f2863b39ad7b7382ff206bdfa89a8>

[12] [CITE[chrome > 時計が遅れています / 時計が進んでいます - Qiita]]
([TIME[2016-01-27 12:31:50 +09:00]] 版)
<http://qiita.com/7of9/items/63147d7e3084719def20>

[14] [CITE@en[Abortable fetch]]
([[jakearchibald]]著, [TIME[2017-09-20 21:59:57 +09:00]])
<https://github.com/whatwg/fetch/commit/0bcd5dfc71ef44319873887f4b83119bd6d0b71d>