Häufige Probleme mit Test-Tokens in Meta-Tags, Headern und Scripts beheben
Checkliste
Wenn Sie Probleme mit einem Test der Herkunftsquelle beheben möchten, folgen Sie den Links unten.
Der Zugriff auf die Ursprungstestfunktion wird für die Methode unterstützt, die zum Bereitstellen eines Testtokens verwendet wird.
Berechtigungsrichtlinien sind korrekt konfiguriert.
Jetzt ausprobieren!
In den folgenden Demos wird jeweils eine der Möglichkeiten veranschaulicht, wie du ein Test-Token für den Ursprung angeben und auf eine Testfunktion zugreifen kannst:
- ot-meta.glitch.me: Token in einem
origin-trial
-Meta-Tag - ot-header.glitch.me: Token in einem
Origin-Trial
-Antwortheader - ot-3p.glitch.me: Token, das von einem Drittanbieter-Script eingefügt wurde
- ot-iframe.glitch.me: Funktion für Testversionen, auf die über einen iFrame zugegriffen wird
- ot-iframe-3p.glitch.me: Beispiele für iFrames mit unterschiedlichen Ursprüngen
Tokens mit den Chrome-Entwicklertools prüfen
Ab Chrome 93 finden Sie in den Entwicklertools im Bereich „Anwendung“ Informationen zu Ursprungstests für den ausgewählten Frame.
Maximieren Sie den oberen Frame, um die für einen Subframe verfügbaren Ursprungstesttokens zu prüfen. Für die Demoseite unter ot-iframe.glitch.me sehen Sie beispielsweise, dass die Seite im iFrame ein Token bereitstellt.
- Tokenstatus: Gibt an, ob die Seite ein gültiges Token hat. Beachten Sie, dass für einige Ursprungstests weitere Faktoren (z. B. geografische Einschränkungen) vorliegen können. Diese bedeuten, dass die Ursprungstestfunktion trotz eines gültigen Tokens nicht verfügbar ist. In diesem Artikel wird die Bedeutung der einzelnen Codes für Herkunftstests erläutert.
- Ursprung: Der für das Token registrierte Webursprung.
- Ablaufzeit: Das maximale (späteste) Ablaufdatum/-uhrzeit für das Token, das normalerweise mit dem Ende des Testzeitraums übereinstimmt. Das ist nicht dasselbe wie das Gültigkeitsdatum für das Token, das unter Meine Registrierungen angezeigt wird. Dort sehen Sie, wie lange das Token derzeit gültig ist und ob es verlängert werden kann.
- Nutzungsbeschränkung: Nutzungslimits, die für einige Testläufe festgelegt werden können.
- Drittanbieter: Gibt an, ob der Drittanbieter-Abgleich für das Token aktiviert ist. Diese Funktion ist für einige Ursprungstests verfügbar, bei denen über Drittanbieter-Scripts auf eine Testfunktion auf mehreren Websites zugegriffen werden muss.
- Sub-Domains abgleichen: Gibt an, ob der Subdomain-Abgleich für das Token aktiviert ist. Dadurch kann eine Ursprungstestfunktion auf mehreren Subdomains eines Ursprungs getestet werden, ohne dass für jede Subdomain ein anderes Token erforderlich ist.
In den Chrome-Entwicklertools wird neben dem Namen des Tests eine Warnung angezeigt, wenn die Testversion für den aktuellen Nutzer nicht verfügbar ist, das Token abgelaufen ist oder andere Einschränkungen gelten.
Statuscodes der Chrome-Entwicklertools
Abgelaufen: Das Ablaufdatum des Tokens ist verstrichen. Das Token muss verlängert werden, um ein neues Token mit einem neuen Ablaufdatum zu generieren.
QuellcodeFeatureDisabled: Die Testversion ist derzeit deaktiviert.
QuellcodeFeatureDisabledForUser: Dieses Token wurde über eine alternative Nutzungsbeschränkung für den aktuellen Nutzer als deaktiviert gekennzeichnet. Weitere Informationen finden Sie im Abschnitt „Ausschlüsse für Teilmengen von Nutzern“ des Designdokuments.
Quellcode 1
Quellcode 2Unsicher: Der Ursprung der Anfrage ist unsicher und der Test ist für unsichere Ursprünge nicht aktiviert. Wie im Code für die Validierung von Ursprungs-Testtokens erläutert: 'Bei Drittanbieter-Tokens müssen sowohl der aktuelle Ursprung als auch der Script-Ursprung sicher sein. Aufgrund des Subdomain-Abgleichs stimmt der Ursprung des Tokens möglicherweise nicht genau mit einem der angegebenen Skriptursprünge überein und das Ergebnis gibt keinen Aufschluss darüber, welcher spezifische Ursprung abgeglichen wurde. Das bedeutet, dass es keine direkte Suche ist, um die entsprechende Skriptquelle zu finden. Damit nicht alle Ursprungsvergleiche wiederholt werden müssen, gibt es Tastenkombinationen, die davon abhängen, wie viele Skriptursprünge angegeben wurden. Es muss mindestens eine vorhanden sein, da das Drittanbieter-Token sonst nicht validiert werden kann.'
QuellcodeInvalidSignature: Das Token hat eine ungültige oder fehlerhafte Signatur.
QuellcodeFehlerhaftes Format: Das Token ist fehlerhaft und konnte nicht geparst werden.
Quellcode
Nicht unterstützt: Der vom Token definierte Ursprungstest wird vom Chromium-Eingebetteten nicht unterstützt: ein Browser wie Chrome oder Edge, eine WebView oder ein anderer User-Agent.
QuellcodeErfolg: Das Token ist korrekt formatiert, ist nicht abgelaufen, stimmt mit einer Testfunktion für den Ursprung überein und wird von einer erwarteten Quelle angefordert.
QuellcodeTokenDisabled: Das Token wurde als deaktiviert markiert und kann nicht verwendet werden.
QuellcodeTrialNotAllowed: Der Testzeitraum für den Ursprung ist für den aktuellen Nutzer nicht verfügbar.
QuellcodeUnknownTrial: Das Token gibt einen Funktionsnamen an, der mit keinem bekannten Test übereinstimmt.
QuellcodeWrongOrigin: Der Ursprung der Anfrage stimmt nicht mit dem im Token angegebenen Ursprung überein. Dazu gehören das Schema, der Hostname oder der Port. Dieser Status wird auch angezeigt, wenn ein Drittanbieter-Token nicht in einer externen JavaScript-Datei, sondern in einem HTTP-Header, Meta-Tag oder Inline-Script angegeben wird.
QuellcodeWrongVersion: Falsche Tokenversion: Derzeit werden nur Tokenversion 2 und 3 unterstützt.
Quellcode
Es funktioniert nicht. 🤔
Wenn der Test für den Ursprung nicht wie erwartet funktioniert, prüfen Sie, ob die folgenden Bedingungen erfüllt sind.
Sie führen den Test in Chrome durch, nicht in Chromium oder einem anderen Browser.
Chrome-Ursprungstests sind für Chrome-Nutzer konzipiert. Verwende keine Chrome-Ursprungs-Testtokens, um Testfunktionen in anderen Browsern zu aktivieren, einschließlich Chromium und anderer Chromium-basierter Browser. Das liegt daran, dass Chrome-Ursprungstests spezifisch für Funktionen sind, die in Chrome für Tests zur Verfügung gestellt werden.
Ursprungstests sind auch für Firefox und Microsoft Edge verfügbar. Die Registrierung für einen Firefox- oder Edge-Test aktiviert keine Funktion in Chrome.
Der Ursprungstest ist für die Chrome-Versionen aktiviert, die auf Ihre Website zugreifen.
Der Zugriff auf Testversionen ist auf bestimmte Chrome-Versionen beschränkt. In einigen Fällen kann dies bedeuten, dass eine Testfunktion nur für die vorstabilen Chrome-Versionen verfügbar ist: Canary, Dev und Beta.
Auf der Registrierungsseite können Sie prüfen, ob die Version für den Test verfügbar ist:
Sie können die von Ihnen verwendete Chrome-Version unter chrome://version prüfen.
Der Ursprungstest wird nicht durch die Chrome-Einstellungen deaktiviert
Wenn ein einzelner Nutzer meldet, dass eine Funktion bei ihm nicht funktioniert, prüfen Sie, ob die Funktion in den Chrome-Einstellungen nicht deaktiviert ist. Auf der Seite chrome://settings/privacySandbox
können beispielsweise Privacy Sandbox-Funktionen deaktiviert werden.
Keywords und Syntax sind korrekt
Verwenden Sie für Ursprungs-Testtokens die richtigen Keywords und Syntax.
Für die Verwendung eigener Daten kann ein Token in einem origin-trial
-Meta-Tag angegeben werden:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
Alternativ kann ein Token in einem Origin-Trial
-Antwortheader angegeben werden. Hier ein Beispiel für die Verwendung von Express in Node.js:
app.use(function(req, res, next) {
res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
next();
});
Tokens können auch mit JavaScript bereitgestellt werden:
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
Ursprung des eigenen Tokens stimmt mit Seitenursprung überein
Der Wert für Web Origin, der bei der Registrierung für einen Testzeitraum ausgewählt wurde, muss mit dem Ursprung der Seite mit dem Meta-Tag oder Header übereinstimmen, das bzw. der das Token bereitstellt.
Angenommen, Sie haben https://example.com
als Webursprung ausgewählt:
Möglicherweise erhalten Sie einen Tokenwert wie diesen:
Prüfen Sie, ob dieser Wert mit dem Token übereinstimmt, das auf der Seite verwendet wird, für die Sie die Fehlerbehebung durchführen.
Wenn das Token in einem Meta-Tag angegeben ist, prüfe den HTML-Code:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
Für ein Token, das in einem Header bereitgestellt wird, können Sie den Tokenwert im Steuerfeld "Netzwerk" der Chrome-Entwicklertools unter Antwortheader überprüfen:
Das selbst erhobene Token wird von der Quelle ausgeliefert, die es verwendet.
Wenn du den Zugriff auf eine Testfunktion für eine Quelle für Code auf einer Seite aktivieren möchtest, die von deiner Quelle ausgeliefert wird, gib ein Testtoken in einem Meta-Tag, Header oder über JavaScript von derselben Quelle an.
Die für ein Token registrierte Quelle muss mit der Quelle übereinstimmen, die es bereitstellt.
Der Ursprung des Drittanbieter-Tokens stimmt mit dem Ursprung des Scripts überein
Sie können sich für einen Ursprungstest für Scripts registrieren, die in anderen Ursprüngen eingefügt werden.
Wenn Sie beispielsweise möchten, dass Scripts, die von javascript-library.example
ausgeliefert werden, an einem Test teilnehmen, müssen Sie für javascript-library.example
ein Token mit Drittanbieterabgleich registrieren.
Der Ursprungswert für ein Drittanbieter-Token muss mit dem Ursprung des Scripts übereinstimmen, das es einschleust.
Drittanbieter-Script verwendet Drittanbieter-Token
Sie können ein Drittanbieterskript nicht für die Teilnahme an einem Ursprungstest auf Ihrer Website aktivieren, indem Sie ein Token für Ihren Ursprung und nicht für das Skript registrieren.
Für Drittanbieter-Scripts müssen Tokens mit aktivierter Drittanbieterabgleichsfunktion verwendet werden, die über das Script selbst (nicht in einem Meta-Tag oder Header auf Ihrer Website) mit folgendem Code eingefügt werden:
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
Das Drittanbietertoken wird über ein externes Skript bereitgestellt, nicht über ein Meta-Tag, einen HTTP-Header oder ein Inline-Skript
Drittanbieter-Tokens werden anhand des Ursprungs des Scripts validiert, das sie eingefügt hat. Inline-Scripts und <meta>
-Tags in statischem Markup haben jedoch keinen Ursprung (d. h. keine Quell-URL).
Das bedeutet, dass ein Drittanbieter-Token über ein externes Script und nicht in einem <meta>
-Tag oder Inline-Script bereitgestellt werden muss. Es spielt keine Rolle, ob das externe Script, das das Token einschleust, aus demselben Ursprung wie die enthaltene Seite oder aus einem anderen Ursprung stammt, solange der Ursprung des Scripts mit einem für den Test registrierten Ursprung übereinstimmt.
Eine Demo dazu finden Sie unter ot-iframe-3p.glitch.me.
Der Zugriff auf die Funktion „Ursprungstest“ wird für die Methode unterstützt, mit der ein Testtoken bereitgestellt wird.
Für einige Zugriffsarten auf Funktionen von Ursprungstests musst du ein Test-Token auf eine bestimmte Weise angeben.
Beispielsweise ist es nur möglich, einen Testzugriff für Service-Worker und freigegebene Worker zu aktivieren, wenn Sie ein Token in einem Origin-Trial
-Header angeben.
Die Subdomain-Übereinstimmung ist für ein Token aktiviert, das auf einer Subdomain verwendet wird
Wenn eine Ursprungstestfunktion für einige Seiten auf Ihrer Website nicht funktioniert, prüfen Sie, ob die Tokens für die Subdomains, auf denen sie ausgeliefert werden, richtig eingerichtet sind.
Wenn du dich für einen Testzeitraum für einen Ursprung registrierst, kannst du optional festlegen, dass alle Unterdomains des Ursprungs abgeglichen werden sollen:
Sie können auch Subdomains für Drittanbieter-Tokens abgleichen:
Für Ursprünge in der öffentlichen Suffixliste werden keine Subdomain-Tokens ausgestellt. Sie können beispielsweise keinen Ursprung wie https://appspot.com oder https://github.io registrieren. Sie können sich jedoch für Domains innerhalb dieses Ursprungs registrieren, z. B. https://example.appspot.com oder https://example.github.io.
Das Token ist weiterhin gültig
Tokens sind sechs Wochen nach ihrer Erstellung gültig. Außerdem müssen Sie Feedback geben, um das Gültigkeitsdatum zu verlängern. Im Leitfaden für Webentwickler zu Ursprungstests wird erläutert, wie Sie dafür sorgen können, dass Ihr Token für einen gesamten Ursprungstest gültig ist.
Sie können auf der Seite Meine Registrierungen nach aktiven Tokens suchen:
In den Chrome-Entwicklertools wird der Status Success
angezeigt, wenn das Token noch gültig ist:
Wenn Ihr Token abgelaufen ist, sehen Sie in den Entwicklertools den Status Expired
und auf der Seite Meine Registrierungen den Bereich Abgelaufene Tokens.
Der Ursprungstest ist noch nicht abgelaufen
Das Enddatum eines Testzeitraums für einen Ursprungskanal finden Sie auf der Registrierungsseite:
Bei beendeten Tests wird in DevTools ungefähr Folgendes angezeigt:
Sie erhalten automatische E-Mails, wenn Feedback erforderlich ist oder ein Token bald abläuft, jedoch nicht, wenn der Testzeitraum endet.
Der Testzeitraum für den Ursprung ist für den aktuellen Nutzer verfügbar.
Einige Ursprungstests sind für bestimmte Nutzer nicht verfügbar, selbst wenn ein gültiges Token angegeben wird.
Wenn für den aktuellen Nutzer kein Testzeitraum verfügbar ist, wird in den Chrome-Entwicklertools eine TrialNotAllowed
-Warnung angezeigt:
Informationen zu Nutzungsbeschränkungen und Verfügbarkeit werden für jeden Testzugriff angegeben.
Wie bei jeder Webplattformfunktion sollten Sie die Funktionserkennung verwenden, um zu prüfen, ob eine Ursprungstestfunktion unterstützt wird, bevor Sie sie verwenden.
Die Nutzungsbeschränkungen für den Testzeitraum für den Ursprung wurden nicht überschritten
Standardmäßig ist eine Ursprungstestfunktion auf jeder Seite aktiviert, die ein gültiges Token für den Test enthält.
Außer in seltenen Fällen ist die Nutzung von Ursprungstests jedoch auf maximal 0,5 % aller Chrome-Seitenaufrufe beschränkt. Die Funktion für den Test der Herkunft wird deaktiviert, wenn die Gesamtnutzung durch alle Chrome-Nutzer diesen Wert überschreitet. In den Entwicklertools wird der Tokenstatus als „Deaktiviert“ angezeigt.
Für Tests zur Einstellung gibt es keine Nutzungslimits, da damit keine neuen Funktionen eingeführt werden. Es besteht also kein Risiko, dass ein großer Teil des Webs von einer Testfunktion abhängig wird.
Bei einigen Testzeiträumen können Sie die Nutzung auch einschränken. Das bedeutet, dass die Funktionen des ursprünglichen Testzeitraums für einige Nutzer deaktiviert werden. Diese Option ist auf der Registrierungsseite für einen Test der Herkunft verfügbar, bei dem sie angeboten wird:
Wenn Sie feststellen, dass Ihre Nutzer weniger Zugriff auf eine Funktion des Ursprungstests haben als erwartet, achten Sie darauf, dass „Standardlimit“ ausgewählt ist.
Iframes stellen eigene Tokens bereit
Um den Zugriff auf eine Ursprungstestfunktion zu ermöglichen, muss ein iFrame ein Token in einem Meta-Tag, einem HTTP-Header oder programmatisch bereitstellen. Iframes erhalten keinen Zugriff auf Funktionen, die für die Seiten aktiviert sind, in denen sie enthalten sind.
ot-iframe.glitch.me zeigt den Zugriff auf eine Ursprungstestfunktion über einen iFrame. ot-iframe-3p.glitch.me enthält mehrere Beispiele für ursprungsübergreifende iFrames.
Berechtigungsrichtlinien sind korrekt konfiguriert
Einige Funktionen für Testquellen können von einem Permissions-Policy
-Header (früher Feature-Policy
-Header) betroffen sein. Informationen dazu finden Sie im Artikel Intent to Experiment für die Testfunktion oder in der Entwicklerdokumentation für die Funktion unter web.dev oder developer.chrome.com/blog.
Prüfen Sie, ob die Funktion, auf die Sie zugreifen möchten, nicht durch eine Permissions-Policy
-Richtlinie blockiert wird. Im Bereich „Netzwerk“ der Chrome DevTools können Sie nach Antwortheadern suchen und im Bereich „Anwendung“ eine vollständige Liste der zulässigen Funktionen aufrufen.
Was ist mit den Workern?
Funktionen für Ursprungstests können für Service-Worker, freigegebene Worker und spezielle Worker verfügbar gemacht werden. Der Zugriff für Service- und freigegebene Worker kann jedoch nur durch Angabe eines Tokens in einer Origin-Trial
-Header-Datei aktiviert werden.
Dedizierte Worker übernehmen den Zugriff auf Funktionen, die durch ihr übergeordnetes Dokument aktiviert wurden.
Token wird vor dem Zugriff auf die Funktion bereitgestellt
Achte darauf, dass ein Testzeitraum-Token für den Ursprung vor dem Zugriff auf eine Testfunktion bereitgestellt wird. Wenn eine Seite beispielsweise ein Token über JavaScript bereitstellt, muss der Code für das Token ausgeführt werden, bevor Code ausgeführt wird, der versucht, auf die Testfunktion zuzugreifen.
Demos für Ursprungstests
- Token in einem Meta-Tag
- Token in einem Header
- Funktion, auf die über einen Iframe zugegriffen wird
- Durch Drittanbieter-Script eingeschleustes Token
- ot-iframe-3p.glitch.me: Beispiele für iFrames mit unterschiedlichen Ursprüngen
Weitere Informationen
- Einstieg in die Ursprungstests von Chrome
- Tests für Drittanbieter-Quellen
- Leitfaden für Webentwickler zu Ursprungstests
- Erläuterung des Ursprungstests
- Ursprungstest ausführen
- Prozess zum Einführen neuer Funktionen in Chromium
- Intent to explain: Demystifying the Blink shipping process
- Ursprungstests in Microsoft Edge verwenden
- Ursprungstests für Firefox