フェッチ API

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

メモ: この機能はウェブワーカー内で利用可能です。

フェッチ API は(ネットワーク越しの通信を含む)リソース取得のためのインターフェイスを提供しています。これは XMLHttpRequest をより強力かつ柔軟に置き換えたものです。

概念と使用方法

フェッチ API は RequestResponse オブジェクト(他にもネットワークリクエストに関係すること)と、CORS や HTTP の Origin ヘッダーの意味づけのような関連の概念を使用します。

リクエストを行い、リソースを読み取るには、fetch() メソッドを使用します。これは WindowWorker コンテキストの両方でグローバルメソッドです。このため、リソースを取得するほとんどのコンテキストで利用できます。

fetch() メソッドは必須の引数を 1 つ取り、取得したいリソースのパスを指定します。これは Promise を返します。これはサーバーがヘッダーで返答するとすぐに、サーバーレスポンスが HTTP エラーステータスであったとしてもResponse に解決します。第 2 引数は任意で、 init オプションオブジェクトを渡すことができます(Request を参照してください)。

Response を受け取ると、レスポンスに含まれるコンテンツ本体と、その処理方法を定義するための多数のメソッドが利用できるようになります。

Request() および Response() を利用することで、リクエストとレスポンスを直接作成できます。ただしこれらのオブジェクトは、FetchEvent.respondWith() のような他の API 呼び出しの結果として取得されるべきもので、直接作成しないほうが良いでしょう。

フェッチ API の詳しい利用方法は フェッチの使用を参照してください。

Fetch インターフェイス

fetch()

fetch() メソッドはリソース取得のために使用されます。

Headers

リクエストとレスポンスのヘッダーを表現しています。ヘッダー情報への問い合わせや、結果による振る舞いの選択が可能です。

Request

リソースのリクエストを表します。

Response

リクエストに対するレスポンスを表します。

仕様書

Specification
Fetch Standard
# fetch-method

ブラウザーの互換性

BCD tables only load in the browser

関連情報