MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Fetch の基本コンセプト

草案
このページは完成していません。

Fetch は、XMLHttpRequest と同様のより新しいコンセプトです。XMLHttpRequest と同じ機能を多く提供していますが、より拡張可能で効果的に設計されています。この記事は、Fetch API の基本コンセプトのいくつかを説明します。

この記事は随時加筆されます。より良い説明が必要な Fetch コンセプトを見つけた場合、dev-mdc メーリングリストか Mozilla IRC(#mdn room)に知らせてください。

概要

Fetch の核心はインタフェースの抽象化であり、HTTP RequestResponseHeadersBody のペイロード、そして非同期リソースリクエストの初期化のための global fetch メソッドがその対象です。HTTP の主要コンポーネントが JavaScript オブジェクトとして抽象化されているため、他の API からそれらの機能を利用しやすくなっています。

Service Worker は Fetch を多用する API の一例です。

Fetch はそれらのリクエストの非同期な性質をもう一歩先へ進めるものです。API は完全に Promise ベースです。

ガード

ガードは Headers オブジェクトの機能で、ヘッダが使用されている場所に応じて immutablerequestrequest-no-corsresponsenone の値をとります。

Headers()constructor を使用して新しい Headers オブジェクトが生成されるとき、ガードは none に設定されます(既定の動作)。Request オブジェクトか Response オブジェクトが生成された場合、関連づけられた Headers オブジェクトのガードは下記のとおり設定されます:

新しいオブジェクト型 コンストラクタ 関連する Headers オブジェクトのガード設定
Request Request() request
no-corsmode を設定した Request() request-no-cors
Response Response() response
error() メソッドか redirect() メソッド immutable

ヘッダーのガードは、ヘッダーのコンテンツを変更する set() メソッドと delete() メソッド、append() メソッドに影響します。ガードが immutableHeaders を修正しようとした場合、 TypeError をスローします。しかし、次の場合は動作します:

ドキュメントのタグと貢献者

 このページの貢献者: hamasaki, chikoski, YuichiNukiyama
 最終更新者: hamasaki,