Browser verwenden Cross Origin Resource Sharing (CORS) zum Anfordern von Ressourcen von einer Domäne, die nicht der aktuellen Domäne entspricht. Der Experience Cloud Identity-Dienst unterstützt CORS-Standards, die diese clientseitigen, ursprungsübergreifenden Ressourcenanforderungen ermöglichen. Der ID-Dienst greift bei älteren Browsern oder Browsern ohne CORS-Unterstützung auf JSONP-Anforderungen zurück.
Richtlinien derselben Herkunft sind Sicherheitskontrollen oder Einschränkungen, die von einem Webbrowser erzwungen werden. Wenn dies auf dieser Ebene erzwungen wird, bestimmt der Webbrowser selbst, ob eine Anforderung von Ressourcen, die von einer Seite zur anderen gesendet werden, zulässig oder blockiert wird. Um festzustellen, ob es sich bei einer Anforderung um eine Anforderung mit derselben Herkunft handelt, vergleicht der Browser Folgendes:
Der Browser ermöglicht eine erfolgreiche Anforderung, wenn beide Seiten dieselben Eigenschaften aufweisen, und blockiert Ressourcenanforderungen, wenn dies nicht der Fall ist.
CORS bietet eine sichere und effektive Möglichkeit, Ressourcen über verschiedene Domänen hinweg anzufordern. Die CORS-Spezifikation enthält eine Reihe von HTTP-Headern, die Browser zum Senden, Empfangen und Auswerten von Ressourcenanforderungen verwenden. Die Evaluierung einer Ressourcenanforderung heißt preflight check
. Mit dieser Prüfung können Browser und Server bestimmen, welche Anforderungen zulässig oder blockiert sind. Die Preflight-Prüfung ist transparent für die App, API oder das Skript, die/das eine Ressource anfordert. Zwei Header, die für den Ressourcenanforderungsprozess wichtig sind, sind:
Origin
: Ein Anforderungsheader, der die Anforderungsquelle ermittelt.Access-Control-Allow-Origin
: Ein Antwortheader, der angibt, ob eine Ressource für den Anforderer freigegeben werden kann.Im Folgenden wird die Funktionsweise dieser Header erläutert. Angenommen, ein Finanzdienstleistungsunternehmen hat den Experience Cloud ID-Dienst auf der eigenen Site www.finance-website.com implementiert. Die folgende Tabelle definiert, wie die CORS-Anforderungs- und Antwortheader den Zugriff auf eine Ressource prüfen.
Aktion | Beschreibung |
---|---|
Anfrage |
Beim Laden der Seite des Finanzunternehmens stellt der Browser eine Anforderung an dpm.demdex.net. Dies ist ein Aufruf an die Domäne der Datenerfassungsserver (DCS), die vom ID-Dienst verwendet wird. Diese domänenübergreifende Anforderung enthält den Header:
|
Antwort |
Die Antwort der DCS-Domäne enthält die folgenden Header, die der Finance-Firma Zugriff auf die erforderlichen Ressourcen gewähren:
|
Siehe auch useCORSOnly.
In der folgenden Tabelle werden einige der Vorteile beschrieben, die CORS Kunden bietet, die den ID-Dienst verwenden.
Vorteil | Beschreibung |
---|---|
Erhöhte Sicherheit |
CORS verwendet XMLHttpRequest, um Daten anzufordern und zu übertragen. Diese Methode ist sicherer als eine JSONP-Anforderung. Es stellt sicher, dass es keine Möglichkeit gibt, beliebigen JavaScript-Code auszuführen, der in der Antwort des DCS enthalten sein könnte. Die CORS XMLHttpRequest-Antwortnutzlast wird vom ID-Dienst-JavaScript analysiert und nicht einfach in einer Rückruffunktion ausgeführt.
Hinweis: Zum Akzeptieren von Cookies muss die Eigenschaft withCredentials des Objekts XMLHttpRequest auf true festgelegt sein. Diese Eigenschaft wird in Chrome, Firefox, Internet Explorer (v10+), Opera und Safari unterstützt. |
Leistungsverbesserungen |
CORS hilft, die Leistung zu verbessern, weil:
|