DOM

インターフェイス

Headers インターフェイス

  編集:2022.04.06 by T.A.

MS

Fetch API の Headers インターフェースは、HTTP リクエストとレスポンスのヘッダ上のさまざまなアクションを実行します。これらのアクションには、取得や設定、追加、削除が含まれます。Headers オブジェクトは、最初は空で 0 個以上の名前と値のペアで構成される関連するヘッダリストを持っています。追加には append()(例 を見てください)のようなメソッドを使用できます。このインタフェースのすべてのメソッドで、ヘッダ名は大文字と小文字を区別しないバイトシーケンスにマッチしています。 セキュリティ上の理由から、いくつかのヘッダはユーザーエージェントでしか制御できません。それらのヘッダには、forbidden header namesforbidden response header names が含まれます。

ヘッダは関連するガードも持っています。ガードは immutable か request、request-no-cors、response、none のいずれかの値を取ります。これはヘッダを変更する set() (en-US) メソッドと delete() メソッド、append() メソッドに影響を与えます。詳細は Guard を見てください。

Request.headers プロパティと Response.headers プロパティ経由で Headers オブジェクトを取得することも、Headers.Headers() コンストラクタを使用して新しい Headers オブジェクトを生成することもできます。

Headers を実装したオブジェクトは、entries() の代わりに直接 for...of 構文で使用できます: for (var p of myHeaders) と for (var p of myHeaders.entries()) は同等です。

ノート: 利用できるヘッダについてはHTTP ヘッダ を参照してください。

コンストラクター
newHeaders.Headers()
新しい Headers オブジェクトを生成する。
メソッド
Headers.append()
Headers オブジェクト内の既存のヘッダに新しい値を追加するか、まだ存在しない場合はヘッダを追加する。
Headers.delete()
Headers オブジェクトからヘッダを削除する。
Headers.entries()
このオブジェクトに含まれるすべてのキー/値 ペアを通して処理するための iterator を返す。
Headers.get()
Headers オブジェクト内から指定したヘッダのすべての値の ByteString を返す。
Headers.has()
Headers オブジェクトが特定のヘッダを含むかどうかを示す boolean 値を返す。
Headers.keys()
このオブジェクトに含まれる キー/値 ペアのすべてのキーを通して処理するための iterator を返す。
Headers.set()
オブジェクト内の既存のヘッダに新しい値を設定するか、まだ存在しない場合はヘッダを追加する。
Headers.values()
このオブジェクトに含まれる キー/値 ペアのすべての値を通して処理するための iterator を返す。

ノート: Headers.set() (en-US) と Headers.append() の明確な違いは、複数の値を受け入れる特定のヘッダが既に存在しているときの挙動です。Headers.set() (en-US) は既存の値を新しい値で上書きしますが、Headers.append() は既存の値の末尾に新しい値を追加します。サンプルコードはそれぞれの専用ページで確認してください。

ノート: 有効な HTTP ヘッダ名 ではない名前の参照を渡そうとすると、すべての Headers メソッドは TypeError をスローします。ヘッダに immutable Guard がある場合、変更操作は TypeError をスローします。そのほかの場外の場合は、単にに失敗します。

ノート: ヘッダーをイテレートする時、自動的に辞書順への並び替えが行われ、重複する名前は結合されます。

廃止になった機能
Headers.getAll()
Headers オブジェクト内で指定されたヘッダのすべての値を配列として返す。このメソッドは規格から削除されており、Headers.get() は現在では与えられた名前に一致する最初のものを返します。

for(const [name, value] of headers)
headers は反復できる( iterable )。

テスト
HTML:

ここに表示
スクリプト組み込み:



スクリプト:


スクリプト:



表示内容:
表示内容: