フェッチ 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.

* Some parts of this feature may have varying levels of support.

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

フェッチ 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
# fetch-method

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
fetch
Authorization header removed from cross-origin redirects
Support for blob: and data:
Send ReadableStream in body
Experimental
init.attributionReporting parameter
Experimental
init.browsingTopics parameter
ExperimentalNon-standard
init.duplex parameter
Experimental
init.keepalive parameter
init.priority parameter
init.referrerPolicy parameter
init.signal parameter

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Non-standard. Check cross-browser support before using.
See implementation notes.
Has more compatibility info.

関連情報