Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Headers

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2017 browserübergreifend verfügbar.

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

Das Headers-Interface der Fetch API ermöglicht 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 Header der Anfrage.

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. Im Vergleich zur Verwendung von einfachen Objekten bietet die Verwendung von Headers-Objekten für das Senden von Anfragen zusätzliche Eingabesäuberung. Zum Beispiel normalisiert es die Header-Namen in Kleinbuchstaben, entfernt führende und nachfolgende Leerzeichen von Header-Werten und verhindert, dass bestimmte Header gesetzt werden.

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

Beschreibung

Ein Headers-Objekt verfügt über eine zugehörige Header-Liste, die zunächst leer ist und aus null oder mehr Paaren von Namen und Werten besteht. Sie können dies mithilfe von Methoden wie append() hinzufügen (siehe Beispiele). In allen Methoden dieses Interfaces werden Header-Namen durch eine nicht case-sensitive Byte-Sequenz abgeglichen.

Ein Objekt, das Headers implementiert, kann direkt in einer for...of-Struktur verwendet werden, anstatt [entries()](/de/docs/Web/API/Headers/entries): for (const p of myHeaders)ist äquivalent zufor (const p of myHeaders.entries())`.

Einschränkungen bei Änderungen

Einige Headers-Objekte haben Einschrä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 wurde.

Alle Methoden von Headers werfen einen TypeError, wenn versucht wird, eine Referenz auf einen Namen zu übergeben, der kein gültiger HTTP-Header-Name ist. Die Änderungsoperationen werfen einen TypeError, wenn der Header unveränderlich ist. In jedem anderen Fehlerfall scheitern sie stillschweigend.

Konstruktor

Headers()

Erstellt ein neues Headers-Objekt.

Instanzmethoden

Headers.append()

Fügt einen neuen Wert zu einem vorhandenen Header in einem Headers-Objekt 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, mit dem Sie alle in diesem Objekt enthaltenen Schlüssel/Werte durchgehen können.

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 mit einer Antwort verknüpften Set-Cookie-Header enthält.

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, mit dem Sie alle Schlüssel der darin enthaltenen Schlüssel/Werte durchgehen können.

Headers.set()

Setzt einen neuen Wert für einen vorhandenen Header in einem Headers-Objekt oder fügt den Header hinzu, wenn er noch nicht existiert.

Headers.values()

Gibt einen iterator zurück, mit dem Sie alle Werte der darin enthaltenen Schlüssel/Werte durchgehen können.

Hinweis: Um klarzustellen: Der Unterschied zwischen Headers.set() und Headers.append() besteht darin, dass, wenn der angegebene Header bereits existiert und mehrere Werte akzeptiert, Headers.set() den bestehenden Wert durch den neuen überschreibt, während Headers.append() den neuen Wert am Ende der Wertemenge anhängt. Siehe deren spezielle Seiten für Beispielcode.

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

Beispiele

Im folgenden Ausschnitt erstellen wir einen neuen Header mit dem Headers()-Konstruktor, fügen mit append() einen neuen Header hinzu und geben dann den 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

Spezifikation
Fetch
# headers-class

Browser-Kompatibilität

Siehe auch