Upgrade request to a potentially secure URL, if appropriate

Fetch (Web)

[91] fetch は、 URL などを指定して、それに対応する資源を取得する操作です。

[152] navigate画像などの埋め込み、 XHR をはじめとする API などから呼び出される、 Webブラウザーを構成する重要なアルゴリズムの1つです。利用者の操作や著者の指示がどのようにプロトコル上のやり取りに変換されるかが fetch により記述されています。

仕様書

[151] fetch は、 Fetch Standard で規定されています。

プロトコル

[48] Fetch は次のプロトコルアルゴリズムと深く関係しています。

[203] その他次のような概念があります。

読み込みタイミング

[47] HTML における fetch とその後の処理の動作モードの指定や実施タイミングについて、 次の機能が存在または提案されています。

fetch を使う操作

[92] fetch を使う操作や機能には、次のものがあります。

f
機能
init
初期化器
dest
終点
csp
制約する CSP 指令
sniff
MIME Sniffing
note
備考
:type:
f
navigate (frame, iframe)
init
空文字列
type
空文字列
dest
document
csp
child-src
sniff
あり
f
navigate (その他)
init
空文字列
type
空文字列
dest
document
sniff
あり
f
rel=prerender
init
prerender
csp
prefetch-src
f
download
init
download
type
空文字列
dest
空文字列
f
名前を付けて保存
init
download
type
空文字列
dest
空文字列
note
>>206
f
fetch
init
空文字列
type
空文字列
dest
空文字列
csp
connect-src
f
XMLHttpRequest
init
空文字列
type
空文字列
dest
空文字列
csp
connect-src
f
document.load
init
空文字列
type
空文字列
dest
空文字列
f
EventSource
init
空文字列
type
空文字列
dest
空文字列
csp
connect-src
f
WebSocket
init
空文字列
type
空文字列
dest
空文字列
csp
connect-src
f
ping
init
空文字列
type
空文字列
dest
空文字列
csp
connect-src
f
setBeacon
init
空文字列
type
空文字列
dest
空文字列
csp
connect-src
f
rel=manifest
init
manifest
type
空文字列
dest
manifest
csp
manifest-src
note
>>206
f
img
init
空文字列
type
image
dest
image
csp
img-src
sniff
画像
f
srcset
init
imageset
type
image
dest
image
csp
img-src
sniff
画像
f
<input type=image>
init
空文字列
type
image
dest
image
sniff
画像
f
SVG image
init
空文字列
type
image
dest
image
csp
img-src
note
>>206
f
favicon
init
空文字列
type
image
dest
image
csp
img-src
sniff
画像
f
background-image
init
空文字列
type
image
dest
image
csp
img-src
note
>>206
f
cursor
init
空文字列
type
image
dest
image
csp
img-src
note
>>206
f
list-style-image
init
空文字列
type
image
dest
image
csp
img-src
note
>>206
f
audio
init
空文字列
type
audio
dest
audio
csp
media-src
sniff
媒体
f
video
init
空文字列
type
video
dest
video
csp
media-src
sniff
媒体
f
track
init
空文字列
type
track
dest
track
csp
media-src
sniff
テキストトラック
f
poster
init
空文字列
type
image
dest
image
f
@font-face
init
空文字列
type
font
dest
font
csp
font-src
note
>>206
f
rel=stylesheet
init
空文字列
type
style
dest
style
csp
style-src
f
@import
init
空文字列
type
style
dest
style
csp
style-src
f
<?xml-stylesheet?> (CSS)
init
空文字列
type
style
dest
style
csp
style-src
note
>>77
f
<?xml-stylesheet?> (XSLT)
init
xslt
type
空文字列
dest
xslt
csp
script-src
note
>>206
f
XSLT xslt:include
note
>>77
f
XSLT xslt:import
note
>>77
f
XSLT document()
note
>>77
f
script (古典スクリプトモジュールスクリプト)
init
空文字列
type
script
dest
script
csp
script-src
f
navigator . serviceWorker . register
init
空文字列
type
script
dest
serviceworker
f
new SharedWorker (古典スクリプトモジュールスクリプト)
init
空文字列
type
script
dest
sharedworker
csp
child-src
f
new Worker (古典スクリプトモジュールスクリプト)
init
空文字列
type
script
dest
worker
csp
child-src
dest
audioworklet
csp
script-src
dest
paintworklet
csp
script-src
f
importScripts
init
空文字列
type
script
dest
script
csp
script-src
f
import, import() (script)
init
空文字列
type
script
dest
script
csp
script-src
f
import, import() (共有ワーカー)
init
空文字列
type
script
dest
sharedworker
csp
child-src
f
import, import() (専用ワーカー)
init
空文字列
type
script
dest
worker
csp
child-src
f
object
init
空文字列
type
空文字列
dest
object
csp
object-src
sniff
ありバイナリー画像 (応答画像型の場合)
f
embed
init
空文字列
type
空文字列
dest
embed
csp
object-src
f
CSP 報告
init
空文字列
type
空文字列
dest
report
note
>>206
f
NEL 報告
init
空文字列
type
空文字列
dest
report
note
>>206
f
PKPreport-uri
note
>>77
f
Certificate Transparency の報告
note
>>77
f
rel=prefetch
csp
prefetch-src
init
prefetch
f
rel=preload
f
rel=modulepreload
f
Notification アイコン
init
空文字列
type
空文字列
dest
空文字列
f
<html manifest>
init
空文字列
type
空文字列
dest
空文字列
f
application cache download process のキャッシュ
init
空文字列
type
空文字列
dest
空文字列
f
obtain the resource (link)
init
空文字列
type
空文字列
dest
空文字列
f
画像外部資源リンク (link)
sniff
画像
f
HLS
f
sourceMappingURL
f
X-SourceMap:
f
OCSP
note
>>77
f
PAC の取得
note
>>77
f
NPAPI からの呼び出し
note
>>77
f
PPAPI からの呼び出し
note
>>77
f
XUL からの呼び出し
note
>>77
f
ブラウザー拡張からの呼び出し
note
>>77
f
プッシュ購読の作成, subscribe, getSubscription, プッシュ購読の非活性化
note
>>77
f
Webブラウザー機能のためのfetch
f
機能
init
初期化器
type
dest
終点
csp
制約する CSP 指令
sniff
MIME Sniffing
note
備考
f
applet
f
CRLDistributionPoints
f
AIA

[77] 注77: fetch を使った規定がまだなく、今後 fetch を使う形になるかどうか不明です。

[206] 注206: fetch を使った規定がありませんが、 Fetch Standard注記があります。

[341] CSS画像sniffing を行っているはずですが現在それはどこにも規定されていません。

[75] スクリプトのfetchも参照。

fetch 操作

[102] fetch は次のような部分操作により構成されます。

fetch に相当する操作

[72] navigate は、 javascript: などの処理で fetch に相当する操作を定義しています。

navigate 参照。

[73] navigate は、本来の fetch のかわりに AppCache からの fetch を行うことがあります。

handle fetch

[238] handle fetch は、サービスワーカーにより fetch を処理する操作です。要求続きの処理について、 次のようにします。 >>237

  1. [251] 要求potential-navigation-or-subresource request の場合、
    1. [252] null について続きの処理を実行し、ここで停止します。
  2. [246] 応答を、 null に設定します。
  3. [247] 登録を、 null に設定します。
  4. [248] クライアントを、 要求クライアントに設定します。
  5. [249] 予約クライアントを、要求予約クライアントに設定します。
  6. [250] preload応答を、新しい約束に設定します。
  7. [253] 要求non-subresource request の場合、
    1. [254]
      ... のいずれかを満たす場合、
      1. [260] null について続きの処理を実行し、ここで停止します。
    2. [261] 登録を、要求URLに関するサービスワーカー登録の一致の結果に設定します。
    3. [262] 登録null か、 登録活性ワーカーnull の場合、
      1. [263] null について続きの処理を実行し、ここで停止します。
    4. [264] 要求終点report 以外の場合、
      1. [265] 予約クライアント活性サービスワーカーを、登録活性ワーカーに設定します。
    5. [266]
      ... のすべてを満たす場合、
      1. [267] 登録活性ワーカーset of event types to handlefetch含む場合、
        1. [270] preload要求を、要求複製の結果に設定します。
        2. [276] preload要求サービスワーカー群モードを、 none に設定します。
        3. [271] preload要求ヘッダーリストに、 新しいヘッダーを追加します。
          [275] ヘッダー
          名前
          Service-Worker-Navigation-Preload
          登録navigation preload header value
        4. [272] preload応答オブジェクトを、新しい Response に設定します。
          [273] Response
          Headers
          [274] Headers
          guard
          immutable
        5. [277] >>278
      2. [268] それ以外の場合、
        1. [269] 開発者コンソールに警告しても構いません。
    6. [285] それ以外の場合、
      1. [286] preload応答を、未定義解決します。
  8. [287] それ以外で、要求部分資源要求の場合、
    1. [288] クライアント活性サービスワーカーnull の場合、
      1. [289] null について続きの処理を実行し、ここで停止します。
    2. [290] それ以外の場合、
      1. [291] 登録を、クライアント活性サービスワーカーcontaining service worker registration に設定します。
  9. [292] 活性ワーカーを、登録活性ワーカーに設定します。
  10. [293] 活性ワーカーset of event types to handlefetch含まない場合、
    1. [295] 並列に要求登録ソフト更新を必要なら実行します (>>298)。
    2. [296] null について続きの処理を実行し、ここで停止します。
  11. [303] 活性ワーカー状態活性化中なら、
    1. [304] 活性ワーカー状態活性化済みになった時に >>305 を実行します。
  12. [306] それ以外の場合、
    1. [307] >>305 を実行します。

[278] >>277 では、並列に、次のようにします >>237

  1. [279] preload要求fetch します。
    process response
    応答について、
    1. [280] 応答error の場合、
      1. [281] preload応答TypeError について拒絶します。
    2. [282] それ以外の場合、
      1. [283] preload応答オブジェクト応答を、応答に設定します。
    3. [284] preload応答preload応答オブジェクトについて解決します。

[305] 活性ワーカーを使った処理は、次のようにします >>237

  1. [308] 活性ワーカーについてサービスワーカーを走らせる処理を実行します。
  2. [239] 失敗を、に設定します。
  3. [240] respondWith入を、に設定します。
  4. [241] イベント取り消しを、に設定します。
  5. [255] 正常終了を、に設定します。
  6. [309] タスクキューに追加します。
    処理
    1. [242] 要求オブジェクトを、新しい Request に設定します。
      [243] Request
      要求
      要求
    2. [245] 要求オブジェクトheadersguard を、 immutable に設定します。
    3. [310] イベントを、イベントを発火した結果に設定します。
      インターフェイス
      FetchEvent
      イベント型
      fetch
      取消可能
      request
      要求オブジェクト
      preloadResponse
      preload応答
      clientId
      クライアント識別子
      reservedClientId
      要求非部分資源要求で、 要求終点report 以外なら、 予約クライアント識別子。 それ以外なら、空文字列
      targetClientId
      要求navigation requestなら、 要求対象クライアント識別子。 それ以外なら、空文字列
      対象
      活性ワーカー大域オブジェクト
    4. [256] 正常終了を、に設定します。
    5. [311] 活性ワーカーイベントについて、 update service worker extended events set を実行します。
    6. [312] イベントrespond-with entered flag が設定されていれば、
      1. [313] respondWith入を、に設定します。
    7. [314] イベントwait to respond flag が設定されていれば、
      1. [318]
        イベントwait to respond flagになったときの処理を >>319 とします。
    8. [315] それ以外の場合、
      1. [316] イベント取り消し済みフラグが設定されていれば、
        1. [317] イベント取り消しを、に設定します。
      2. [328] 並列に>>329 を実行します。
    イベントループ
    活性ワーカーイベントループ
    タスク源
    handle fetch task source
    捨てる処理
    >>329
[319] イベントwait to respond flagになったときの処理は、 次のようにします >>237
  1. [320] イベントrespond-with error flagなら、
    1. [321] 失敗を、に設定します。
  2. [322] それ以外の場合、
    1. [323] 応答を、イベントpotential response に設定します。
  3. [324] イベント取り消し済みフラグが設定されていれば、
    1. [325] イベント取り消しを、に設定します。

[329] 最後の処理は、次にようにします >>237

  1. [259] 正常終了の場合、
    1. [294] 失敗を、に設定します。
  2. [331] respondWith入の場合、
    1. [332] イベント取り消しの場合、
      1. [333] 応答を、ネットワークエラーに設定します。
    2. [334] それ以外の場合、
      1. [335] 応答を、null に設定します。
  3. [336] それ以外で、失敗の場合、
    1. [337] 応答を、ネットワークエラーに設定します。
  4. [338] 応答について続きの処理を実行します。

[339] 加えて、並列に要求登録を必要ならソフト更新します (>>298) >>237

[326] この最後の処理は、サービスワーカーを終端させる処理によりスクリプトの中断があった時やタスクが捨てられた時にも必ず実行されます。

[298] 要求登録の必要ならソフト更新する処理は、 次のようにします >>237

  1. [297] 要求非部分資源要求か、 要求部分資源要求

    現在時刻 - 登録last update check time > 86400

    ... がの場合、
    1. [299] 登録ソフト更新します。

main fetch

[103] main fetch は、まず要求を検査し、 必要ならエラーを返したり、書き換えたりします。具体的には、次の処理が含まれます。

[141] 正確には、次のようにします >>101

  1. [104] 要求局所URLのみフラグが設定されていれば、
    1. [105] 要求現在URL局所URLでないなら、
      1. [106] 応答を、ネットワークエラーに設定します。 >>101
  2. [140] 要求についてCSP違反の報告を行います >>101
  3. [107] Upgrade request to an a priori authenticated URL, if appropriate >>101:
    1. [123] 要求navigation request なら、
      ... のいずれかの場合、
      1. [122] 要求ヘッダーリストに名前 Upgrade-Insecure-Requests1ヘッダー末尾に追加します >>121
    2. [127]
      ... のいずれかの場合 >>121
      1. [131] クライアントについて非保安要求を格上げするべきかどうかが 「格上げしない」でなければ >>121
        1. [128] 要求URLschemehttp なら、
          1. [133] 要求URLschemeを、 https に設定します。 >>121
        2. [134] それ以外なら、
          1. [135] 要求URLポート80 なら、
            1. [136] 要求URLポートを、443 に設定します。 >>121
  4. [187]
    ... のいずれかを満たすなら、
    1. [111] 応答を、ネットワークエラーに設定します。 >>101
  5. [201] 要求参照元の決定を行います >>101
  6. [232] 要求現在URLschemeftp で、 要求クライアント作成元URLschemeftpない上、 要求予約済みクライアントnull または環境であって対象閲覧文脈入れ子閲覧文脈なら、
    1. [233] 応答を、ネットワークエラーに設定します。 >>101
  7. [114]
    ... のすべてを満たすなら、
    1. [179] 要求現在URLschemeを、 https に設定します >>101

[116] WebSocket の場合も URL schemehttps:/http: に書き換わっているので、 HSTS が適用されます。
[180] HSTS では現在URLポートは書き換えられません。 既定のポート番号が省略されている場合ポートnull なので、 http: の場合 80 を暗黙に表していたのが、 https: に書き換わって 443 を暗黙に表すのにかわります。

[188] アプリ内ブラウザーで固有の制約がある場合、ここで検査し、 違反していればネットワークエラーとするのが適当と思われます。

[189] アプリ内ブラウザーは、アプリ開発者の Webサイト以外の fetch を禁止することがあります。

[190] iOS では ATS により原則として素のHTTPへのアクセスは禁止されます。

[300] その他に、 navigate 側で検査する実装になっている可能性もあります。 navigation scope 参照。

[120] その後実際の処理に入ります。

HTTPリダイレクトfetch

[205] HTTPリダイレクトfetchは、 navigate からも呼び出されます。

[399] 仕様書にはないですが、 service identitiy エラーになるとき、 www. を付け足したり削ったりする内部リダイレクトに置き換えられることがあります。 HTTPS

その他の URL scheme の scheme fetch

[182] data:ftp:file: を参照。

ブラウザー依存の処理

[183] 開発者コンソールの機能や、ブラウザー拡張API が、 fetch の処理の進捗を観察したり、時には介入したりすることがあります。

[163] 仕様書に明文規定はありませんが、再読み込み時に (開始から stops parsing まで?) 適宜キャッシュモードが設定されるようです。

スケジューリング

[226] 事前レンダリングは、 navigate を妨げないように fetch で配慮するべきである旨の規定があります。

fetch API

[229] fetch のすべての機能が fetch API で利用できるわけではありません。

[230] fetch API で提供されていない機能

歴史

[54] fetchWebブラウザーの必須の処理で、 WWW の誕生以来ずっと (暗黙的に) 存在していました。 navigate の一部としては1990年頃の WWW の誕生以来、ページレンダリングの一部としては1994年の img 要素の追加以来、 Webブラウザーには fetch 相当の処理が何らかの形で含まれていました。

[142] しかし90年代には、「指定された URL解決して処理する」 程度の曖昧な規定しかありませんでしたし、実際それで十分でした。

fetch の明文化

[53] 仕様上のアルゴリズムとしての fetch は、2008年8月に HTML5 (現 HTML Standard) で定義されました >>57

[55] それまで HTML5 は各要素APInavigate の挙動の規定で一般動詞 fetch を使っており、挙動を明確化する必要があるとの TODO が記載はされていましたが、仕様上の用語としてはこの時追加されました。

[56] この時期はHTMLの構文解析器や既存のHTML要素navigateAppCacheHTML5 で規定された後で、イベントループWF2 の統合よりは前に当たります。 それまで明確に文書化されてこなかった HTML の諸要素API の挙動を定義していく中での流れでした。 fetch が定義された後間もなくイベントループが定義され、 fetch との関係も規定されています >>52

[59] とはいえこの当時の fetch は非常に単純で、 URL解決してから HTTP の規定に従う、といった程度の内容でした。 Webブラウザーの挙動を記述するには、 更なる詳細化が必要でした。

[51] Web Applications 1.0 r2525 CSRF mitigation -- add Origin header to all non-GET requests. ( 版) https://html5.org/r/2525

[49] Web Applications 1.0 r4084 Clarify how pushState() and transfering nodes between documents affects Referer: computation in the fetch algorithm. ( 版) https://html5.org/r/4084

[50] Web Applications 1.0 r4011 Synchronise with the latest Origin spec rules and semantics. ( 版) https://html5.org/r/4011

[1] Web Applications 1.0 r5451 Define how to handle <img src='mailto:foo@example.com'>Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10247 ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5450&to=5451

[2] Widget Access Request Policy ( ( 版)) http://dev.w3.org/2006/waf/widgets-access/

[3] [whatwg] Image cache behaviour ( 版) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-March/035137.html

[4] 295942 – Mozilla will ignore javascript-triggered image reload even if image is expired ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=295942

[5] [whatwg] [html5] r7128 - [giow] (2) Try to define img synchronous loading. Affected topics: HTML ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-June/036386.html

[6] Debunking Responsive CSS Performance Myths - igvita.com ( (Ilya Grigorik 著, 版)) http://www.igvita.com/2012/06/14/debunking-responsive-css-performance-myths/

HTML への CORS の導入

[60] これまでの CORS の歴史は、 CORS の項を参照。

[7] Web Applications 1.0 r7297 Cleanup of the 'potentially CORS-enabled fetch' algorithm to actually make sense. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7296&to=7297

[8] Web Applications 1.0 r7341 Attempt to actually define what Referer headers are used for a whole host of things that were poorly defined. Also: cleanup of a bunch of editorial mistakes I found from past such attempts. Mark every fetch algorithm use for sanity in the future. Block data:, javascript:, and about:blank referrers. Note: This relies on not-yet-done changes to CORS and XHR. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7340&to=7341

Fetch Standard

[61] Web Applications 1.0 (現 HTML Standard) の fetch は従来の fetch猿パッチのような形で CORS を継ぎ足していたため複雑で、 リファクタリングが必要と言われていましたが、いつどのような形で行うかは未定でした。 Ian Hickson は改訂の必要性は認めつつも、他の作業より優先度は低いとしていました。

[143] annevk は2012年夏に (Opera および) W3C を離れたのを機に XHRCORSWHATWG に移管しましたが、 CORSfetch を統合して整理する必要があるとし、 WHATWG CORS 仕様書のドメイン名に 「fetch」を選びました >>9

[9] Cross-Origin Resource Sharing Standard ( ( 版)) http://fetch.spec.whatwg.org/

[10] IRC logs: freenode / #whatwg / 20121126 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20121126

[144] 2013年には annevk が実際の作業を開始し、 HTMLFetchCORSXHR の中枢部分に相当する一連のアルゴリズムを改めて記述し、 これを Fetch Standard としました。

[145] 仕様書としての CORS はこれにより発展的に消滅しました。 XHR の中枢部分は Fetch の一部となり、仕様書としての XHRAPI のみの規定となりました。 HTMLFetch は、 移行時にエンバグしないよう慎重に検討する必要があるとして、 この時点では変更されませんでした。そのためこの後2年強にわたり、 Fetch StandardHTML Fetch が併存することとなりました。 (あくまで仕様書として分裂した状態なだけで、実装上は同じものでした。)

[11] IRC logs: freenode / #whatwg / 20130211 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130211

[12] IRC logs: freenode / #whatwg / 20130225 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130225#l-697

[13] IRC logs: freenode / #whatwg / 20130305 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130305

[14] IRC logs: freenode / #whatwg / 20130305 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130305#l-151

[15] IRC logs: freenode / #whatwg / 20130315 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130315#l-704

[16] HTTP Fetch Policy - WHATWG Wiki ( ( 版)) http://wiki.whatwg.org/wiki/HTTP_Fetch_Policy

[17] IRC logs: freenode / #whatwg / 20130411 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130411#l-686

[18] IRC logs: freenode / #whatwg / 20130415 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130415#l-416

[19] IRC logs: freenode / #whatwg / 20130418 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130418#l-839

[20] IRC logs: freenode / #whatwg / 20130422 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130422#l-691

[21] IRC logs: freenode / #whatwg / 20130502 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130502

[22] [whatwg] Fetch: please review! ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-May/039600.html

[23] Fetch groups ( (Anne van Kesteren 著, 版)) http://lists.w3.org/Archives/Public/www-archive/2013Jun/0086.html

[24] Re: CSP and Fetch ( (Anne van Kesteren 著, 版)) http://lists.w3.org/Archives/Public/public-webappsec/2014Jan/0161.html

Fetch API

[146] XHR には引き続き新機能の追加の要望が出ていましたが、 XHR の歴史的経緯を反映した複雑な API を更に複雑化させることは好ましくないとも考えられていました。 Extensible Web の流れもあり、 Fetch Standard の開発中から annevk らは (仕様書上の) Fetch アルゴリズムに近い低レベルの API を規定することを考えていました。

[147] Service Workers の開発で新たな fetch API の必要性が高まり支持が集まった結果、2014年にはこの fetch API の規定が Fetch Standard に追加されました。

[148] 初期の議論は Service WorkersGitHub Issues で行われています。

[25] IRC logs: freenode / #whatwg / 20140520 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20140520

[26] Sketch for Fetch API, details and organization TBD · b40f990 · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/b40f99003d31abfe23bbcd84d13e62c52d6267ce

[27] Request constructor and fetch() method, add RedirectResponse named const... · 2e82a88 · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/2e82a88634f0cd23de1977b11b36d1e907d01f5c

[28] Clean up new Request and fetch() · 97f680c · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/97f680c318a4b4bdc461ae607f245fe1441b6877

[29] Clean up fetch() steps · 3445fc0 · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/3445fc0f4f667bd9aa2487351330cea82c93885f

[30] Fetch API ( (Anne van Kesteren 著, 版)) http://lists.w3.org/Archives/Public/public-webapps/2014AprJun/0687.html

[31] Update request's referrer per https://www.w3.org/Bugs/Public/show_bug.cg... · 8ab38bf · whatwg/fetch ( ( 版)) https://github.com/whatwg/fetch/commit/8ab38bf62ace6c221c544add7cc188c799d6acc7

[32] IRC logs: freenode / #whatwg / 20140812 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20140812

[33] Dependencies & weights (aka, priority) - Google ドキュメント ( ( 版)) https://docs.google.com/document/d/1jSpWc6jkrUoYtGWcxev9Blkkv9RhoO1XtqinBvXqhgY/edit

[34] Request Quest ( ( 版)) http://jakearchibald.github.io/request-quest/

[35] Web Applications 1.0 r8799 Stop using the word 'asynchronously', and reduce usage of the word 'synchronous'. ( ( 版)) https://html5.org/r/8799

[36] Web Applications 1.0 r8846 Rename API referrer source to just referrer source, for fetch ( ( 版)) https://html5.org/r/8846

[37] IRC logs: freenode / #whatwg / 20130624 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130624

[38] Fetch integration. Please review, this is major. MAJOR. Right. · c99000a · whatwg/xhr ( ( 版)) https://github.com/whatwg/xhr/commit/c99000a96dada32b0aed566563c759256f0b2d9a

[39] XMLHttpRequest and Fetch ( (Anne van Kesteren 著, 版)) http://lists.w3.org/Archives/Public/public-webapps/2013OctDec/0237.html

[40] Fetch is the new CORS (and more). Also fix a few minor bugs thanks to @j... · 9b60830 · whatwg/xhr ( ( 版)) https://github.com/whatwg/xhr/commit/9b608301704e6360f905e1a93f9310e209fec5a5

[41] Rely more on Fetch. More to come. · a50621b · whatwg/xhr ( ( 版)) https://github.com/whatwg/xhr/commit/a50621b2247dc42a2e9521f5055a4d5b71d0685e

[42] Move some request security checks to Fetch so other APIs can do the same... · 126f3db · whatwg/xhr ( ( 版)) https://github.com/whatwg/xhr/commit/126f3db30a67ff2be772ae3682206011d89301eb

[43] Flashと特定ブラウザの組み合わせでcross originでカスタムヘッダ付与が出来てしまう問題が未だに直っていない話 ( ( 版)) https://gist.github.com/mala/8857629

[44] カスタムヘッダを使ったCSRF対策は安全に使えるかどうかということについて - 金利0無利息キャッシング – キャッシングできます - subtech ( ( 版)) http://subtech.g.hatena.ne.jp/mala/20130304/1362392723

[45] IRC logs: freenode / #whatwg / 20140515 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20140515

[46] REFERRER: Cleaning up the integration with Fetch. · 82e1046 · w3c/webappsec ( ( 版)) https://github.com/w3c/webappsec/commit/82e1046cd2d00c4b286abdf3a336511207ff9750

[63] Extract networking into its own set of steps to prepare for https://www.... · 6c10655 · whatwg/fetch ( 版) https://github.com/whatwg/fetch/commit/6c10655c960d0cd95d739d1604f48c11828e9499

[64] Introduce HTTP request grouping for https://www.w3.org/Bugs/Public/show_... · 44546f2 · whatwg/fetch ( 版) https://github.com/whatwg/fetch/commit/44546f2f850bdd49bd08d44ce68188b9ba239a93

[65] Chromium Blog: Chrome 42 Beta: Push Notifications, Promoting Add to Home Screen and ES6 Classes ( 版) http://blog.chromium.org/2015/03/chrome-42-beta-push-notifications_12.html

The Fetch API is now available in the window context, shared workers, and dedicated workers, providing a new promise-based standard for AJAX requests.

[66] ( 版) http://www.adambarth.com/papers/2009/jackson-barth-bortz-shao-boneh-tweb.pdf

Prohibited access. Some kinds of network access are prohibited even within

the same origin. Internet Explorer 7 blocks port numbers 19 (chargen), 21

(FTP), 25 (SMTP), 110 (POP3), 119 (NNTP), and 143 (IMAP). Firefox 2 and

Safari 3 block those plus 51 additional port numbers. Some of these port restrictions

prevent Web sites from launching denial-of-service attacks or sending

spam email, whereas others prevent universal cross-site scripting via the

HTML form protocol attack [Topf 2001].

[67] IRC logs: freenode / #whatwg / 20150330 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20150330#l-171

# [10:39] <JakeA> annevk: when is the right time to make response/request.body a ReadableStream in the fetch spec?

# [11:08] <annevk> JakeA: I was waiting for "tee" to be defined

[68] Preparation for merge · Issue #25 · yutakahirano/fetch-with-streams ( 版) https://github.com/yutakahirano/fetch-with-streams/issues/25

[69] IRC logs: freenode / #whatwg / 20150330 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20150330#l-171

# [15:42] <wanderview> annevk: at this point I do not feel comfortable implementing that... I'm planning to talk to sicking in a couple weeks to try to iron out our differences

# [15:45] <annevk> JakeA: given wanderview's statement and not hearing anything from Apple/Microsoft I'm inclined to hold off on integrating streams for now

# [15:47] <JakeA> annevk: makes sense, wasn't aware of wanderview's concerns

# [15:47] <wanderview> annevk: I guess to clarify, I'm personally ok with implementing the fetch body stream bit... but I need to address sicking's concerns first... and it feels like we're further away from agreement than I thought before

# [15:49] <wanderview> JakeA: not my personal concerns... we need some internal consensus before moving forward, though

[70] Integrate with UPGRADE. Fixes https://www.w3.org/Bugs/Public/show_bug.cg... · whatwg/fetch@fd90b5a ( 版) https://github.com/whatwg/fetch/commit/fd90b5afd0ff09284c2a3cd093c577d17ce06898

[71] Prefer GitHub participation. Use URLs that include the scheme. · whatwg/fetch@4b58ddc ( 版) https://github.com/whatwg/fetch/commit/4b58ddc9435411eb5f7698d961e57d512f0f541b

[74] Extract main fetch in preparation for setting request headers based on c... · whatwg/fetch@ea4dd32 ( 版) https://github.com/whatwg/fetch/commit/ea4dd323c136aa4f348e750811b5e239685fef31

[78] Fetch API Streaming Response Sample ( 版) https://googlechrome.github.io/samples/fetch-api/fetch-response-stream.html

[79] Write a short introduction. Fixes #11. · whatwg/fetch@8bd9f55 ( 版) https://github.com/whatwg/fetch/commit/8bd9f559187281894f65c2a1bdc2ff556aabad1b

[80] Re: Definition of secure origin in MIX and POWER (Mike West 著, 版) https://lists.w3.org/Archives/Public/public-webappsec/2015Jul/0080.html

[81] Support "manual" redirect mode for navigation requests. Fixes #66. · whatwg/fetch@c5dc814 ( 版) https://github.com/whatwg/fetch/commit/c5dc81406f588ad6207c61d475c96f7649e40578

[82] MIX: First stab at SW integration. · w3c/webappsec@e577d4d ( 版) https://github.com/w3c/webappsec/commit/e577d4d5746bd33248a7dd4dbe0db515c16f20fb

[83] MIX: @annevk's feedback on the Service Worker loophole. · w3c/webappsec@048eae9 ( 版) https://github.com/w3c/webappsec/commit/048eae9ae720ce412fe5244210e6fd31a1003092

[84] MIX: Further explain the SW implications. · w3c/webappsec@4ead56c ( 版) https://github.com/w3c/webappsec/commit/4ead56ce75e24e29bff67e905ce2335026c6a00d

[85] Group task annotations and make sure service workers also read a requ… · whatwg/fetch@e2f0a96 ( 版) https://github.com/whatwg/fetch/commit/e2f0a96fafa782b2ca5a0ac7fdf98f5ae4c1f3f9

HTML との統合

[149] 2015年9月にはついに HTML Fetch が廃止され、 Fetch Standard に完全に統合されました。

[150] 更に、 CSPFetch StandardHTML Standard のアルゴリズムとの関係が明確になる形で再編成が進みました。

[86] Remove "block cookies" as XMLHttpRequest already uses Fetch · whatwg/html@2f0c615 ( 版) https://github.com/whatwg/html/commit/2f0c6156aa4d825e007b26600e42716e32d12b86

[87] Fetch integration · Issue #95 · whatwg/html ( 版) https://github.com/whatwg/html/issues/95

[88] Drafting the patches to HTML · Issue #106 · whatwg/fetch ( 版) https://github.com/whatwg/fetch/issues/106

[89] 24080 – (fetch) Integrate with Fetch specification ( 版) https://www.w3.org/Bugs/Public/show_bug.cgi?id=24080

[90] Integrate Fetch into HTML · whatwg/html@7c5555a ( 版) https://github.com/whatwg/html/commit/7c5555a16f2920c02244c10756bb2f1a11e87a22

[93] Only replace charset parameter values that do not case-insensitively … · whatwg/xhr@a1f8e14 ( 版) https://github.com/whatwg/xhr/commit/a1f8e140fef9e3ee8255ef58a2c71ff9d75933d2

[94] IRC logs: freenode / #whatwg / 20151005 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20151005

[95] Fiddling with Fetch to catch synthetic responses. · w3c/webappsec-csp@a5e2d3b ( 版) https://github.com/w3c/webappsec-csp/commit/a5e2d3b6c595a23be70ddb28d468ace3059c40ff

[96] Update Fetch with shiny, new CSP hooks · whatwg/fetch@8ce550b ( 版) https://github.com/whatwg/fetch/commit/8ce550b53c53e2b6e8376373b94d66b2eeada8f8

[97] Drop Fetch issues after https://github.com/whatwg/fetch/commit/8ce550… · w3c/webappsec-csp@c2b6452 ( 版) https://github.com/w3c/webappsec-csp/commit/c2b64522fb6f4cb4f683344ee3cd890dfdcc515d

[98] MFSA 2015-115: Fetch を用いたクロスオリジン制限回避 ( 版) http://www.mozilla-japan.org/security/announce/2015/mfsa2015-115.html

[99] Fetch & Streams meeting (Anne van Kesteren 著, 版) https://lists.w3.org/Archives/Public/www-archive/2015Oct/0002.html

[137] Close #141: fix 304 handling · whatwg/fetch@1a2f6b4 ( 版) https://github.com/whatwg/fetch/commit/1a2f6b49d616cfd74536c1a8dbed8b5c1215d548

[138] Split reporting and enforcement for Fetch. · w3c/webappsec-csp@6647d2d ( 版) https://github.com/w3c/webappsec-csp/commit/6647d2de191283e94cec1059411f536e6d6b95b5

[139] Separate 'report-only' and 'enforce' CSP execution · whatwg/fetch@a58871a ( 版) https://github.com/whatwg/fetch/commit/a58871a92cbf9304ea4e661f31efb9f2b78bf44b

[153] Foreign Fetch - WHATWG Wiki ( 版) https://wiki.whatwg.org/wiki/Foreign_Fetch

[154] Fix #176: move a set of steps in HTTP-network fetch · whatwg/fetch@bcf66dd ( 版) https://github.com/whatwg/fetch/commit/bcf66dd5cd98762d4313948c8f3da475b492dbb5

[155] Fix #171: main fetch: clarify internal responses and network errors · whatwg/fetch@200e745 ( 版) https://github.com/whatwg/fetch/commit/200e745dcba07874a1db25d3ba2be2339a3a0430

[156] Introduce HTTP-redirect fetch · whatwg/fetch@3e501f2 ( 版) https://github.com/whatwg/fetch/commit/3e501f29eceff41eb81c60fb9937e33e23cf5492

[157] Expand Request.destination · whatwg/fetch@6b9cdaa ( 版) https://github.com/whatwg/fetch/commit/6b9cdaa9be7acd2b8074c74823981ef994d17857

[158] Clarify main fetch recursive invocation · whatwg/fetch@88fb8d4 ( 版) https://github.com/whatwg/fetch/commit/88fb8d48f248396cb9c1876d0f13e682519cffa9

[160] Clarify the hooks into RFC6265 · whatwg/fetch@5a324a8 ( 版) https://github.com/whatwg/fetch/commit/5a324a891c42d42de09a01e03c3a063b9a4f882b

WebSocket 統合

[62] 2016年3月に WebSocket の接続確立処理が Fetch Standard に統合されました。

[76] これは、従来の RFC の定義を近年の関連仕様の整備・実装に合わせて改訂することが IETF の手続き上困難であること、接続の確立までの部分で他の Fetch と共通の処理が多いことが理由とされています。

[164] この統合と同時に、従来 WebSocket でのみ曖昧に規定されていた port blocking が厳密な形で Fetch 全体に適用されるよう改めて規定されました。

[170] WebSocket のプロトコル全体を HTML に再統合するべきとの意見もありましたが IRC #whatwg、ひとまずは猿パッチという形で先送りされています。 元々 HTML5 の一部だったプロトコル部分が IETF に移管された後、 仕様書として技術的に不正確で HTML との整合性も欠く形に改訂されて RFC として出版され、容易に改訂もできない状態になってしまっているとして、 WHATWG 近辺ではずっと不満が燻っています。

[171] Archive ( 版) https://mailarchive.ietf.org/arch/msg/hybi/2OIyLSs5JjDfiFB_I_HGoSinsqc

[172] Editorial: remove HSTS reference · whatwg/html@96be6c0 ( 版) https://github.com/whatwg/html/commit/96be6c02315d677c48ac334a689a48cbd1929c95

[173] Block `image/*` resources loaded as script · whatwg/fetch@b561a73 ( 版) https://github.com/whatwg/fetch/commit/b561a73f23b7139d5f4bb0de322dc37e74af0091

[174] Editorial: make wait a concept for bodies instead of responses · whatwg/fetch@1873eda ( 版) https://github.com/whatwg/fetch/commit/1873edac285df87c495b1966d8fdb2fd7ba733b2

[175] Allow for a request to finish after a response starts to arrive · whatwg/fetch@3a41b6f ( 版) https://github.com/whatwg/fetch/commit/3a41b6f04996d4aac13ecad5b38635827dcd0df3

[176] Fix #244: improve HSTS language · whatwg/fetch@6568ab8 ( 版) https://github.com/whatwg/fetch/commit/6568ab88c1fbfb581f63f8e5f020c367ef38e78d

[186] Update request's referrer policy when fetching · whatwg/fetch@2812f6a ( 版) https://github.com/whatwg/fetch/commit/2812f6aa873968002215b284e05d01715560400b

[191] Editorial: use HTML's new WindowOrWorkerGlobalScope mixin · whatwg/fetch@115858e ( 版) https://github.com/whatwg/fetch/commit/115858e1aabab346d03bb93644cd06cd9c2f88ed

[192] [webkit-dev] Fetch API ( 版) https://lists.webkit.org/pipermail/webkit-dev/2015-December/027838.html

[193] Bug 151937 – [META] Implement fetch API ( 版) https://bugs.webkit.org/show_bug.cgi?id=151937

[194] Fetch API - Web APIs | MDN ( 版) https://developer.mozilla.org/en/docs/Web/API/Fetch_API

[195] Editorial: remove double-negative in CORS-preflight fetch · whatwg/fetch@f9a540b ( 版) https://github.com/whatwg/fetch/commit/f9a540bd002679bfa238f2fddf5543e7ac9b0d11

[196] Rewrite Fetch integration, especially around redirects · w3c/webappsec-referrer-policy@4d227ee ( 版) https://github.com/w3c/webappsec-referrer-policy/commit/4d227ee81961b21913915632614039f076200961

[197] Framed navigational requests ought to be upgraded. ( (mikewest著, )) https://github.com/w3c/webappsec-upgrade-insecure-requests/commit/3af8187ce9f63a2b7a012bc5a6e60e63ef994f93

[199] Align with MIX's terminology. ( (mikewest著, )) https://github.com/w3c/webappsec-upgrade-insecure-requests/commit/0839792b07b7920aefa28cb15935dec423b7cea8

[200] Allow more wildcards in CORS when used without credentials ( (annevk著, )) https://github.com/whatwg/fetch/commit/cdbb13c08650b10c9ebfc54d046bec0639e7ba7c

[109] Editorial: use network and HTTP(S) scheme concepts ( (annevk著, )) https://github.com/whatwg/fetch/commit/a7e7af28629938544d1b705225d04776261a2ff4

[112] Web Application Security Working Group F2F -- 17 May 2016 ( ()) https://www.w3.org/2016/05/17-webappsec-minutes.html#item07

[113] Chrome は、 ftp: URLfetch を未対応として例外を投げます。 (XHR ではアクセスできます。 ディレクトリーの場合、整形した HTML にアクセスできます。)

[159] Firefox は、 ftp: URL でも fetch に対応しています。ディレクトリーの場合、内部形式らしきテキストデータが返されます。 Content-Typeapplication/http-index-format となります。

[202] Chrome incompatibilities - Mozilla | MDN ( ()) https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatibilities

webRequest

Firefox does not support:

onAuthRequired

filtering by windowId and tabId

the "requestBody" instruction in opt_extraInfoSpec

In Firefox requests can be redirected only if their original URL uses the http or https scheme

[204] Align Fetch's destination concept with changes in Fetch (sideshowbarker著, ) https://github.com/whatwg/html/commit/5e8f96a85d182d36c177db0d6fdde58b4ded86d4

[207] Call out to Referrer Policy to set policy on redirect (estark37著, ) https://github.com/whatwg/fetch/commit/a8f1cd5ae2d080ee4e1e8e02b68e8ec6ae2c2833

[208] Omit Referer header when referrer is "no-referrer" (annevk著, ) https://github.com/whatwg/fetch/commit/7feaed2cc1d4ac97ea6a3f47ab6aa50e7377e161

[209] Editorial: rename end-of-file to end-of-body (annevk著, ) https://github.com/whatwg/fetch/commit/483ffd8c4984b306a262f3b11711747023c0d395

[210] Editorial: rename end-of-file to end-of-body (annevk著, ) https://github.com/whatwg/xhr/commit/e8b02e0733c82725e9d1bd4f635cd6ac4fbab5cd

[211] Add Foreign Fetch support (mkruisselbrink著, ) https://github.com/whatwg/fetch/commit/8510b2f52d576af6a6c683620878eb3e39e14954

[212] Set response tainting (back) to "basic" when same-origin (annevk著, ) https://github.com/whatwg/fetch/commit/3c99e7f8c9eef73f8070e71fabc74e2630834729

[213] Move 401/407 into the network realm (annevk著, ) https://github.com/whatwg/fetch/commit/ec6f5ef5f99cb6b0dd6c701b49791810fb380b04

[214] Remove credentials flag from HTTP-network-or-cache-fetch (annevk著, ) https://github.com/whatwg/fetch/commit/40755522e2573b3df1d1b54d1bc2e2705f4feccf

[215] Add trailer support to network responses (annevk著, ) https://github.com/whatwg/fetch/commit/427255ebd4b07c4912292dbb3a24f97bfa8d1c8a

[216] Stop usage of entry settings object (annevk著, ) https://github.com/whatwg/fetch/commit/24db2d37e4d952343ce5319a1684cbd0319e144e

[217] 26533 – Generalize Request object further () https://www.w3.org/Bugs/Public/show_bug.cgi?id=26533

[218] Copy referrer policy concept and enum from Fetch (#64) (estark37著, ) https://github.com/w3c/webappsec-referrer-policy/commit/7e44fb850385ab9bbe22d13a53721e419a278c87

[219] Editorial: referrer policy definitions moved to Referrer Policy (annevk著, ) https://github.com/whatwg/fetch/commit/8243753e527088eb97f11af025cb930f18be0269

[220] Treat data URLs as same-origin (annevk著, ) https://github.com/whatwg/fetch/commit/6f223de29733e64dbe1dfc6028c6e0a4a5d89398

[221] Stop treating about URLs as same-origin (annevk著, ) https://github.com/whatwg/fetch/commit/72fc2e787be663f5bc39c88665dd3c356abbca0f

[222] Make Request constructor more forgiving (annevk著, ) https://github.com/whatwg/fetch/commit/76578f456797ff675f4f89cb8727bde3954e062c

[223] Allow fetch() to outlive document/workers (igrigorik著, ) https://github.com/whatwg/fetch/commit/5d745b240554f7871beed99ce443bf13968839c4

[224] Fetch Standard 101 — Anne’s Blog () https://annevankesteren.nl/2016/07/fetch-101

[225] Editorial: convert to bikeshed (dontcallmedom著, ) https://github.com/whatwg/fetch/commit/18523ac90a53e44ac4c32a48b04104bad442a1ae

[227] Enforcing Content Security By Default within Firefox | Mozilla Security Blog () https://blog.mozilla.org/security/2016/11/10/enforcing-content-security-by-default-within-firefox/

[228] Meta: update spec deploy and editing infrastructure (annevk著, ) https://github.com/whatwg/fetch/commit/948505d35344cd99599f52458ad8898e99ce2afc

[231] Block ftp URL requests from non-FTP clients (mikewest著, ) https://github.com/whatwg/fetch/commit/d4114a3b0926fda64a7708d4ec56c6d007b5d133

[234] Meta: enable PR review and link web-platform-tests (annevk著, ) https://github.com/whatwg/fetch/commit/ff8a3e9b2e5842e80139d343cc0b587b07963d5c

[235] Stop lowercasing header names (annevk著, ) https://github.com/whatwg/fetch/commit/5869c43a27fff06c6dfc228fe1288018f7f2168d

[236] Breaking: redo value parsing as value extraction (annevk著, ) https://github.com/whatwg/fetch/commit/68a986772901fe74f666f76a389dbc56cac1ad21

[301] Sitebound: Fetch bits and pieces. (mikewest著, ) https://github.com/w3c/webappsec-credential-management/commit/07ef0c83e986884d9d1a81898688700cdca11af4

[302] Do not always set the recursive flag in HTTP-redirect fetch (annevk著, ) https://github.com/whatwg/fetch/commit/869ec2c2224200988bbc604f7f5181b6bb9df2c3

[327] Properly set the Origin header for WebSocket requests (nox著, ) https://github.com/whatwg/fetch/commit/406c5a60595c63d323693050b45d40823933e185

[330] Queue "process request body" tasks during request body transmission (yutakahirano著, ) https://github.com/whatwg/fetch/commit/afcf3fafd5f633d5783ae847280e2a91f24b23d7

[340] Editorial: rename "basic fetch" to "scheme fetch" (jugglinmike著, ) https://github.com/whatwg/fetch/commit/ef03683734705e6ca95d3d829df4e47689bf7ae4

[342] Creating Safari Content-Blocking Rules () https://developer.apple.com/library/content/documentation/Extensions/Conceptual/ContentBlockingRules/CreatingRules/CreatingRules.html#//apple_ref/doc/uid/TP40016265-CH2-SW1

block

Tells the browser engine to abort loading the resource. If the resource was cached, the cache is ignored.

[343] Creating Safari Content-Blocking Rules () https://developer.apple.com/library/content/documentation/Extensions/Conceptual/ContentBlockingRules/CreatingRules/CreatingRules.html#//apple_ref/doc/uid/TP40016265-CH2-SW1

make-https

Changes a URL from http to https before making a server request. URLs with a specified port (other than the default port 80) and links using other protocols are not affected.

[344] Use "read a chunk" operation correctly (yutakahirano著, ) https://github.com/whatwg/fetch/commit/c5a1394a5658b364c75f9b304be745ccab1734ea

[345] "reading a chunk" passes stream rather than a reader · Issue #570 · whatwg/fetch () https://github.com/whatwg/fetch/issues/570

[346] Use "read a chunk" operation correctly by yutakahirano · Pull Request #571 · whatwg/fetch () https://github.com/whatwg/fetch/pull/571

[347] Remove "foreign" service-workers mode (annevk著, ) https://github.com/whatwg/fetch/commit/bc235291b8ab572a2285fede598dadc2f419b32e

[348] Editorial: remove "rethrow" per Infra (annevk著, ) https://github.com/whatwg/fetch/commit/829e56dd47534b8e6725ce0c56c5bdea6e23d222

[349] Abortable fetch (jakearchibald著, ) https://github.com/whatwg/fetch/commit/0bcd5dfc71ef44319873887f4b83119bd6d0b71d

[350] History behind the decision to make fetch return a Promise · Issue #611 · whatwg/fetch () https://github.com/whatwg/fetch/issues/611

[351] Fetch API () https://gist.github.com/wycats/cf73dd4c974352fcb767

[352] History behind the decision to make fetch return a Promise · Issue #611 · whatwg/fetch () https://github.com/whatwg/fetch/issues/611

[353] Acknowledge Yehuda Katz by annevk · Pull Request #615 · whatwg/fetch () https://github.com/whatwg/fetch/pull/615

[354] Meta: use new WHATWG boilerplate and license (domenic著, ) https://github.com/whatwg/fetch/commit/6478fc0428f7bdd081b860e91fb6886b1a030d19

[355] Meta: use new WHATWG boilerplate and license by domenic · Pull Request #651 · whatwg/fetch () https://github.com/whatwg/fetch/pull/651

[356] Return a network error for mode "no-cors" and redirect mode not "follow" (youennf著, ) https://github.com/whatwg/fetch/commit/14858d3e9402285a7ff3b5e47a22896ff3adc95d

[357] Return a network error in case of no-cors mode and redirect being not follow by youennf · Pull Request #663 · whatwg/fetch () https://github.com/whatwg/fetch/pull/663

[358] Define data: URL processing (annevk著, ) https://github.com/whatwg/fetch/commit/36ef3c8aef34ff77ebf713b6498d008fe853034f

[181] Implement window.fetch into core · Issue #19393 · nodejs/node () https://github.com/nodejs/node/issues/19393

[359] Editorial: set response's CSP list once (annevk著, ) https://github.com/whatwg/fetch/commit/860922f2c393c1b5408af7a80771c665b69a5bf7

[360] Should "set response's CSP list" be in Main fetch? · Issue #364 · whatwg/fetch () https://github.com/whatwg/fetch/issues/364

[361] Set response's CSP list once by annevk · Pull Request #701 · whatwg/fetch () https://github.com/whatwg/fetch/pull/701

[362] Only allow blob: URLs that point to Blob objects (annevk著, ) https://github.com/whatwg/fetch/commit/8193ffef20b659a1ec1e6ae58831dd40fc08aad9

[363] Make fetch() use "same-origin" credentials by default (annevk著, ) https://github.com/whatwg/fetch/commit/811575d6889026c68d55a327f79198dccfea403c

[364] Use the explicit "follow" construct for abort signals (jakearchibald著, ) https://github.com/whatwg/fetch/commit/ae716822cb3a61843226cd090eefc6589446c1d2

[365] "If signal is not null, then add the following a..." · Issue #668 · whatwg/fetch () https://github.com/whatwg/fetch/issues/668

[366] Following signals. Fixes #668. by jakearchibald · Pull Request #670 · whatwg/fetch () https://github.com/whatwg/fetch/pull/670

[367] Allow range header to be set by APIs by jakearchibald · Pull Request #560 · whatwg/fetch () https://github.com/whatwg/fetch/pull/560

[368] Fix variable definitions and scoping (jakearchibald著, ) https://github.com/whatwg/fetch/commit/3055f137275c92defe7b5526ff633194dd8c6224

[369] Abort refactoring led to variable errors · Issue #706 · whatwg/fetch () https://github.com/whatwg/fetch/issues/706

[370] Fixing variable definitions and scoping. Fixes #706. by jakearchibald · Pull Request #749 · whatwg/fetch () https://github.com/whatwg/fetch/pull/749

[371] Review Draft Publication: June 2018 (annevk著, ) https://github.com/whatwg/fetch/commit/e6cbef27724dd6111d1646898ef4f3f9ad56740b

[372] Review Draft Publication: June 2018 by annevk · Pull Request #768 · whatwg/fetch () https://github.com/whatwg/fetch/pull/768

[373] Fetch Standard Review Draft June 2018 () https://fetch.spec.whatwg.org/review-drafts/2018-06/

[374] Editorial: use "append" to modify the header list (ryzokuken著, ) https://github.com/whatwg/fetch/commit/daca6a824c0c6c5e22b7f7eb70001f36c1732cb1

[375] Editorial: use Infra maps for dictionaries (annevk著, ) https://github.com/whatwg/fetch/commit/3ca2ee5968a60883c9e302f296047d539337b6dd

[376] Use request's client instead of source's active document (#365) (andypaicu著, ) https://github.com/w3c/webappsec-csp/commit/5730913006762928a91facf69b31d7b8b99ab167

[377] Use request's client instead of the source browsing context to get a navigation initiator's CSP list by andypaicu · Pull Request #365 · w3c/webappsec-csp () https://github.com/w3c/webappsec-csp/pull/365

[378] Using active document of a browsing context introduces a security vulnerability · Issue #360 · w3c/webappsec-csp () https://github.com/w3c/webappsec-csp/issues/360

[379] Take tainted origin flag into account for the same origin check (annevk著, ) https://github.com/whatwg/fetch/commit/986618a62b2d7d31f93177ed178f0cb21b570d85

[380] fetch() "no-cors": cross-origin to same-origin redirect taints response · Issue #737 · whatwg/fetch () https://github.com/whatwg/fetch/issues/737

[381] Request's tainted origin flag fallout · Issue #756 · whatwg/fetch () https://github.com/whatwg/fetch/issues/756

[382] Take tainted origin flag into account for the same origin check by annevk · Pull Request #834 · whatwg/fetch () https://github.com/whatwg/fetch/pull/834

[383] Review Draft Publication: December 2018 (annevk著, ) https://github.com/whatwg/fetch/commit/4973765a84b2626c6144deabb95b54f775f85c5d

[384] Review Draft Publication: December 2018 by annevk · Pull Request #847 · whatwg/fetch () https://github.com/whatwg/fetch/pull/847

[385] Fetch Standard Review Draft December 2018 () https://fetch.spec.whatwg.org/review-drafts/2018-12/

[386] Introduce browsing context groups (annevk著, ) https://github.com/whatwg/html/commit/0e6d3b51ba8f555a700301abff81085f31500fea

[387] Remove "filesystem" URL scheme (M-ZubairAhmed著, ) https://github.com/whatwg/fetch/commit/265974fd666d365c164d0337faf2dccfe5867ee7

[388] Remove "filesystem" URL scheme · Issue #846 · whatwg/fetch () https://github.com/whatwg/fetch/issues/846

[389] Fixed Issue-846 : remove URL filesystem scheme by M-ZubairAhmed · Pull Request #873 · whatwg/fetch () https://github.com/whatwg/fetch/pull/873

[390] Remove Client Hints (annevk著, ) https://github.com/whatwg/fetch/commit/6a644c676558edc7e80548e25c6f85bf0143f395

[391] Does Client Hints have multi vendor support? · Issue #867 · whatwg/fetch () https://github.com/whatwg/fetch/issues/867

[392] Remove Client Hints by annevk · Pull Request #884 · whatwg/fetch () https://github.com/whatwg/fetch/pull/884

[393] Review Draft Publication: June 2019 (annevk著, ) https://github.com/whatwg/fetch/commit/4dcfe90b45350c5d73d00c86154ae492656d7be5

[394] Review Draft Publication: June 2019 by annevk · Pull Request #910 · whatwg/fetch () https://github.com/whatwg/fetch/pull/910

[395] Fetch Standard Review Draft June 2019 () https://fetch.spec.whatwg.org/review-drafts/2019-06/

[396] Align with IDL constructor changes (autokagami著, ) https://github.com/whatwg/fetch/commit/eff7659a2cb15aed801a9dbfc00c58e22efbbd42

[397] Make the Origin header honor Referrer Policy (outside of CORS) (JuniorHsu著, ) https://github.com/whatwg/fetch/commit/cc80ec58d24668413b7a3c7160d9b4d83ace7b20

[400] Editorial: remove the CORS flag (annevk, , ) https://github.com/whatwg/fetch/commit/65138f3f20a80020e405c5a0fb3675abfd884013

[401] Editorial: mention the tainted origin flag less (annevk, , ) https://github.com/whatwg/fetch/commit/2f496b506f82d21383298aaa54779299b6541d38

[402] Question about tainted origin flag · Issue #953 · whatwg/fetch () https://github.com/whatwg/fetch/issues/953

[403] Editorial: mention the tainted origin flag less by annevk · Pull Request #963 · whatwg/fetch () https://github.com/whatwg/fetch/pull/963

[404] Fetch · Issue #9 · w3c/whatwg-coord () https://github.com/w3c/whatwg-coord/issues/9

[405] Add TAO check (npm1, , ) https://github.com/whatwg/fetch/commit/9dd531988b04f4fadd43022a0613a90b42ce46d4

[406] Add TAO check by npm1 · Pull Request #955 · whatwg/fetch () https://github.com/whatwg/fetch/pull/955