Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Ursprung
DerUrsprung von Webinhalten wird durch dasSchema (Protokoll), denHostname (Domain) und denPort derURL definiert, die zum Zugriff verwendet wird. Zwei Objekte haben nur dann den gleichen Ursprung, wenn Schema, Hostname und Port übereinstimmen.
Einige Vorgänge sind auf Inhalte mit demselben Ursprung beschränkt, und diese Beschränkung kann mithilfe vonCORS aufgehoben werden.
In diesem Artikel
Undurchsichtiger Ursprung
Ein undurchsichtiger Ursprung ist ein spezieller, browserinterner Wert, der den wahren Ursprung einer Ressource verschleiert (undurchsichtige Ursprünge werden immer alsnull serialisiert). Sie werden vom Browser verwendet, um die Isolation von Ressourcen sicherzustellen, da sie niemals als gleich zu einem anderen Ursprung betrachtet werden — einschließlich anderer undurchsichtiger Ursprünge.
Undurchsichtige Ursprünge werden in Fällen angewendet, in denen der tatsächliche Ursprung einer Ressource sensibel ist, nicht sicher für Sicherheitsprüfungen verwendet werden kann oder nicht existiert.Eine Ressource mit einem undurchsichtigen Ursprung wird in Anfragen denOrigin HTTP-Header aufnull gesetzt haben.Sie wird auch bei gleichen Ursprungsprüfungen mit einer anderen Ressource fehlschlagen und daher auf nur jene Vorgänge beschränkt sein, die für Ursprünge über Kreuz verfügbar sind.
Häufige Fälle, in denen undurchsichtige Ursprünge verwendet werden, umfassen:
- Ein Dokument innerhalb eines iframes, das dassandbox-Attribut gesetzt hat und nicht das
allow-same-origin-Flag enthält. file:URLs werden in der Regel als undurchsichtige Ursprünge behandelt, damit Dateien im Dateisystem sich nicht gegenseitig lesen können.- Dokumente, die programmgesteuert mit APIs wie
DOMImplementation.createDocument()erstellt werden.
Beispiele
Diese haben denselben Ursprung, da sie das gleiche Schema (http) und den gleichen Hostname (example.com) haben, und der unterschiedliche Dateipfad spielt keine Rolle:
http://example.com/app1/index.htmlhttp://example.com/app2/index.html
Diese haben denselben Ursprung, da ein Server HTTP-Inhalte standardmäßig über Port 80 liefert:
http://example.com:80http://example.com
Diese haben nicht denselben Ursprung, da sie unterschiedliche Schemas verwenden:
http://example.com/app1https://example.com/app2
Diese haben nicht denselben Ursprung, da sie unterschiedliche Hostnamen verwenden:
http://example.comhttp://www.example.comhttp://myapp.example.com
Diese haben nicht denselben Ursprung, da sie unterschiedliche Ports verwenden:
http://example.comhttp://example.com:8080
Siehe auch
- Same-origin policy
- Verwandte Glossarbegriffe:
- HTML-Spezifikation: origin