Fetch API の Headers インターフェースは、HTTP リクエストとレスポンスのヘッダ上のさまざまなアクションを実行します。これらのアクションには、取得や設定、追加、削除が含まれます。Headers オブジェクトは、最初は空で 0 個以上の名前と値のペアで構成される関連するヘッダリストを持っています。追加には append()(例 を見てください)のようなメソッドを使用できます。このインタフェースのすべてのメソッドで、ヘッダ名は大文字と小文字を区別しないバイトシーケンスにマッチしています。 セキュリティ上の理由から、いくつかのヘッダはユーザーエージェントでしか制御できません。それらのヘッダには、forbidden header names と forbidden 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 ヘッダ を参照してください。
ノート: Headers.set() (en-US) と Headers.append() の明確な違いは、複数の値を受け入れる特定のヘッダが既に存在しているときの挙動です。Headers.set() (en-US) は既存の値を新しい値で上書きしますが、Headers.append() は既存の値の末尾に新しい値を追加します。サンプルコードはそれぞれの専用ページで確認してください。
ノート: 有効な HTTP ヘッダ名 ではない名前の参照を渡そうとすると、すべての Headers メソッドは TypeError をスローします。ヘッダに immutable Guard がある場合、変更操作は TypeError をスローします。そのほかの場外の場合は、単にに失敗します。
ノート: ヘッダーをイテレートする時、自動的に辞書順への並び替えが行われ、重複する名前は結合されます。
表示内容: |
表示内容: |