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

View in English Always switch to English

Anfrage: targetAddressSpace-Eigenschaft

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more support for this feature? Tell us why.

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

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die schreibgeschützte Eigenschaft targetAddressSpace der Request-Schnittstelle gibt den Zieladressraum der Anfrage zurück, der angibt, ob diese als Loopback-, lokale oder öffentliche Anfrage gedacht ist.

Wert

Ein enumerierter Wert, der einer der folgenden sein kann:

local

Die Anfrage richtet sich an eine lokale Adresse, die nur im lokalen Netzwerk zugänglich ist; ihr Ziel unterscheidet sich in verschiedenen Netzwerken. Zum Beispiel 192.168.0.1.

loopback

Die Anfrage richtet sich an eine Loopback-Adresse, die nur auf dem lokalen Gerät zugänglich ist; ihr Ziel unterscheidet sich auf jedem Gerät. Zum Beispiel 127.0.0.1, allgemein bekannt als localhost.

public

Die Anfrage richtet sich an eine Adresse, die von überall im Internet erreichbar ist; ihr Ziel ist für alle Geräte weltweit gleich. Zum Beispiel 104.18.27.120 (die IP-Adresse von example.com).

unknown

Keine targetAddressSpace wurde bei der Anfrage gesetzt.

Beschreibung

In Browsern, die die Spezifikation Local Network Access unterstützen, sind Loopback- und lokale Anfragen hinter spezifischen Berechtigungen wie local-network und loopback-network geschützt. Die Anforderung von Benutzerberechtigungen für solche Anfragen mindert das Risiko von Cross-Site-Request-Forgery (CSRF)-Angriffen gegen lokale Netzwerkgeräte wie Router und Drucker und reduziert die Möglichkeit von Websites, diese Anfragen zur Fingerabdruckerstellung des lokalen Netzwerks des Benutzers zu verwenden.

Diese Berechtigungen sind auf sichere Kontexte beschränkt. Wenn sie erteilt werden, lockern die Berechtigungen zusätzlich das Blockieren von gemischtem Inhalt für Anfragen im lokalen Netzwerk. Dies ist erforderlich, da viele lokale Geräte aus verschiedenen Gründen keine öffentlich vertrauenswürdigen TLS-Zertifikate erhalten können. Zum Beispiel ermöglicht es öffentlichen Websites den Zugriff auf lokale Testserver oder Geräte, die auf HTTP laufen.

Die targetAddressSpace-Eigenschaft, wenn sie auf local oder loopback bei neuen Anfragen gesetzt wird (über den Request()-Konstruktor oder direkt in der fetch()-Methode), weist unterstützende Browser explizit an, Prüfungen auf gemischten Inhalt zu überspringen. Dies ist erforderlich in Fällen, in denen eine URL eine öffentliche Domain-Adresse ist, aber schließlich zu einer lokalen Netzwerkadresse aufgelöst wird, wie http://internal.example.com.

Einige Adressen, wie private IP-Literale (z.B. 192.168.0.1) und .local-Adressen (z.B. http://router.local), haben gelockerte Prüfungen auf gemischten Inhalt in Fällen, in denen lokale Netzwerkzugriffsberechtigungen erteilt werden, sodass die targetAddressSpace-Eigenschaft nicht gesetzt werden muss. Werden jedoch keine lokalen Netzwerkzugriffsberechtigungen erteilt, gelten die Prüfungen auf gemischten Inhalt weiterhin, unabhängig davon, ob targetAddressSpace gesetzt ist oder nicht.

Beispiele

Grundlegende Verwendung

js
const req = new Request("http://localhost:8888", {
  method: "get",
  mode: "cors",
  targetAddressSpace: "loopback",
});

console.log(req.targetAddressSpace);
// loopback

fetch(req);

Spezifikationen

Spezifikation
Local Network Access
# dom-request-targetaddressspace

Browser-Kompatibilität

Siehe auch