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.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

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

Sie können ein Headers-Objekt über die Eigenschaften Request.headers und Response.headers abrufen und ein neues Headers-Objekt mit dem Headers() Konstruktor erstellen.

Hinweis: Mehr über die verfügbaren Header erfahren Sie in unserem HTTP-Header Referenz.

Beschreibung

Ein Headers-Objekt hat eine zugehörige Header-Liste, die anfänglich leer ist und aus null oder mehr Namens-Wert-Paaren besteht. Sie können diese mit Methoden wie append() ergänzen (siehe Beispiele). In allen Methoden dieses Interfaces werden Header-Namen anhand einer groß-/kleinschreibungsunabhängigen Bytefolge abgeglichen.

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

Einschränkungen bei der Modifikation

Einige Headers-Objekte haben Einschränkungen, ob die Methoden set(), delete() und append() den Header ändern können. Die Modifikationseinschränkungen sind je nach Erstellung des Headers-Objekts festgelegt.

Alle Header-Methoden werfen einen TypeError, wenn Sie versuchen, eine Referenz auf einen 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 unauffällig fehl.

Konstruktor

Headers()

Erstellt ein neues Headers-Objekt.

Instanzmethoden

Headers.append()

Fügt einen neuen Wert einem vorhandenen Header innerhalb eines Headers-Objekts hinzu 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 das Durchlaufen aller Schlüssel-/Wertpaare in diesem Objekt ermöglicht.

Headers.forEach()

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

Headers.get()

Gibt eine String-Sequenz aller Werte eines Headers in einem Headers-Objekt mit einem bestimmten Namen zurück.

Headers.getSetCookie()

Gibt ein Array mit den Werten aller mit einer Antwort verbundenen Set-Cookie Header zurück.

Headers.has()

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

Headers.keys()

Gibt einen iterator zurück, der Ihnen ermöglicht, alle Schlüssel der in diesem Objekt enthaltenen Schlüssel-/Wertpaare zu durchlaufen.

Headers.set()

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

Headers.values()

Gibt einen iterator zurück, der Ihnen ermöglicht, alle Werte der in diesem Objekt enthaltenen Schlüssel-/Wertpaare zu durchlaufen.

Hinweis: Um klar zu sein: Der Unterschied zwischen Headers.set() und Headers.append() besteht darin, dass wenn der angegebene Header bereits existiert und mehrere Werte akzeptiert, Headers.set() den existierenden Wert mit dem neuen überschreibt, während Headers.append() den neuen Wert am Ende der Wertemenge anfügt. Siehe deren dedizierte Seiten für Beispielcode.

Hinweis: Wenn Header-Werte iteriert werden, werden sie automatisch in lexikografischer Reihenfolge sortiert und Werte von doppelten Header-Namen werden kombiniert.

Beispiele

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

js
const myHeaders = new Headers();

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

Das gleiche 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 Standard
# headers-class

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch