Headers

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.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das Headers Interface der Fetch API ermöglicht es Ihnen, verschiedene Aktionen mit HTTP-Anforderungs- und Antwortheadern durchzuführen. Diese Aktionen umfassen das Abrufen, Setzen, Hinzufügen zu und Entfernen von Headern aus der Liste der Header der Anfrage.

Ein Headers-Objekt kann über die Eigenschaften Request.headers und Response.headers abgerufen und ein neues Headers-Objekt mit dem Konstruktor Headers() erstellt werden. Im Vergleich zur Verwendung von einfachen Objekten bietet die Nutzung von Headers-Objekten zur Sendung von Anfragen eine zusätzliche Eingabesanitierung. Zum Beispiel normalisiert es Headernamen auf Kleinbuchstaben, entfernt führende und nachfolgende Leerzeichen von Headerwerten und verhindert das Setzen bestimmter Header.

Hinweis: Weitere Informationen über die verfügbaren Header finden Sie in unserem HTTP Headers Referenzdokument.

Beschreibung

Ein Headers-Objekt hat eine zugeordnete Header-Liste, die anfangs leer ist und aus null oder mehr Namens- und Wertpaaren besteht. Sie können diese Liste mit Methoden wie append() erweitern (siehe Beispiele). In allen Methoden dieses Interfaces werden Headernamen durch eine groß-/kleinschreibungunempfindliche Bytesequenz abgeglichen.

Ein Objekt, das Headers implementiert, kann direkt in einer for...of Struktur verwendet werden, anstelle von entries(): for (const p of myHeaders) entspricht for (const p of myHeaders.entries()).

Änderungsbeschränkungen

Einige Headers-Objekte haben Beschränkungen, ob die Methoden set(), delete() und append() den Header ändern können. Die Änderungsbeschränkungen hängen davon ab, wie das Headers-Objekt erstellt wird.

Alle Methoden von Headers werfen einen TypeError, wenn Sie versuchen, eine Referenz zu einem Namen zu übergeben, der kein gültiger HTTP-Headername ist. Die Mutationsoperationen werfen einen TypeError, wenn der Header unveränderlich ist. In jedem anderen Fehlerfall schlagen sie leise fehl.

Konstruktor

Headers()

Erstellt ein neues Headers-Objekt.

Instanzmethoden

Headers.append()

Hängt einen neuen Wert an einen bestehenden Header innerhalb eines Headers-Objekts an oder fügt den Header hinzu, wenn er noch nicht existiert.

Headers.delete()

Löscht einen Header aus einem Headers-Objekt.

Headers.entries()

Gibt einen Iterator zurück, der es ermöglicht, durch alle Schlüssel/Wert-Paare in diesem Objekt zu gehen.

Headers.forEach()

Führt eine bereitgestellte Funktion einmal für jedes Schlüssel/Wert-Paar in diesem Headers-Objekt aus.

Headers.get()

Gibt eine String Sequenz aller Werte eines Headers innerhalb eines Headers-Objekts mit einem gegebenen Namen zurück.

Headers.getSetCookie()

Gibt ein Array zurück, das die Werte aller Set-Cookie Header enthält, die mit einer Antwort verknüpft sind.

Headers.has()

Gibt einen Boolean zurück, der angibt, ob ein Headers-Objekt einen bestimmten Header enthält.

Headers.keys()

Gibt einen Iterator zurück, der es ermöglicht, durch alle Schlüssel der Schlüssel/Wert-Paare in diesem Objekt zu gehen.

Headers.set()

Setzt einen neuen Wert für einen bestehenden Header innerhalb eines Headers-Objekts oder fügt den Header hinzu, wenn er noch nicht existiert.

Headers.values()

Gibt einen Iterator zurück, der es ermöglicht, durch alle Werte der Schlüssel/Wert-Paare in diesem Objekt zu gehen.

Hinweis: Um klarzustellen: Der Unterschied zwischen Headers.set() und Headers.append() besteht darin, dass, wenn der spezifizierte Header bereits existiert und mehrere Werte akzeptiert, Headers.set() den vorhandenen Wert mit dem neuen überschreibt, während Headers.append() den neuen Wert an das Ende der Wertmenge anhängt. Siehe ihre jeweiligen Seiten für Beispielcode.

Hinweis: Wenn Header-Werte über Iterationen durchlaufen werden, werden sie automatisch in lexikographischer Reihenfolge sortiert, und Werte von doppelten Headernamen werden kombiniert.

Beispiele

Im folgenden Beispiel erstellen wir einen neuen Header mit dem Headers() Konstruktor, fügen einen neuen Header mit append() hinzu und geben dann diesen Headerwert mit get() zurück:

js
const myHeaders = new Headers();

myHeaders.append("Content-Type", "text/xml");
myHeaders.get("Content-Type"); // should return 'text/xml'

Dasselbe kann erreicht werden, indem ein Array von Arrays oder ein Objektliteral an den Konstruktor übergeben wird:

js
let myHeaders = new Headers({
  "Content-Type": "text/xml",
});

// or, using an array of arrays:
myHeaders = new Headers([["Content-Type", "text/xml"]]);

myHeaders.get("Content-Type"); // should return 'text/xml'

Spezifikationen

Specification
Fetch
# headers-class

Browser-Kompatibilität

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
Headers
[Symbol.iterator]
Headers() constructor
append
delete
entries
forEach
get
getSetCookie
has
Iteration combines duplicate header names
Iteration is lexicographically sorted
keys
set
values

Legend

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

Full support
Full support
No support
No support
See implementation notes.

Siehe auch