Fehlerbehebung bei Chrome-Ursprungstests

Häufige Probleme mit Test-Tokens in Meta-Tags, Headern und Scripts beheben

In diesem Leitfaden wird davon ausgegangen, dass Sie mit Ursprungstests in Chrome vertraut sind. Ausführliche FAQs finden Sie im Leitfaden für Webentwickler zu Origin-Tests.

Wenn Sie einen Fehler bei Ursprungstests in Chrome feststellen, reichen Sie ein neues Problem im GitHub-Repository für Chrome-Ursprungstests ein.

Checkliste

Wenn Sie Probleme mit einem Test der Herkunftsquelle beheben möchten, bearbeiten Sie die einzelnen Probleme anhand der bereitgestellten Links.

Tokens mit den Chrome-Entwicklertools prüfen

In DevTools finden Sie im Bereich Anwendung Informationen zu Ursprungstests für den ausgewählten Frame.

Chrome-Entwicklertools: Informationen zu Ursprungstests im Bereich „Anwendung“

Maximieren Sie den oberen Frame, um Ursprungs-Testtokens zu prüfen, die für einen Unterframe verfügbar sind. Auf der Demoseite ot-iframe.glitch.me sehen Sie beispielsweise, dass die Seite im Iframe ein Token bereitstellt.

Chrome-Entwicklertools: Bereich „Application“ (Anwendung) mit Ursprungstest-Tokens für die Seite im iFrame

  • Token-Status: Gibt an, ob die Seite ein gültiges Token hat. Bei einigen Ursprungstests können andere Faktoren wie geografische Einschränkungen dazu führen, dass die Funktion für Ursprungstests trotz eines gültigen Tokens nicht verfügbar ist. Statuscodes in den Chrome-Entwicklertools: Hier erfahren Sie, was die einzelnen Codes für Herkunftstests bedeuten.
  • Ursprung: Der Web-Ursprung, der für das Token registriert ist.
  • Ablaufzeit: das (späteste) mögliche Ablaufdatum und -uhrzeit für das Token, das in den meisten Fällen mit dem Ende des Testzeitraums übereinstimmt. Das ist nicht das Gültigkeitsdatum des Tokens, das unter Meine Registrierungen angezeigt wird. Dort sehen Sie, wie lange das Token gültig ist und ob es verlängert werden kann.
  • Nutzungsbeschränkung: Nutzungslimits, die für einige Tests festgelegt werden können.
  • Drittanbieter: Gibt an, ob die Abgleiche von Drittanbietern für das Token aktiviert sind. Diese Funktion ist für einige Ursprungstests verfügbar, bei denen über Drittanbieter-Scripts auf eine Testfunktion auf mehreren Websites zugegriffen werden muss.
  • Subdomains abgleichen: Gibt an, ob die Subdomain-Übereinstimmung für das Token aktiviert ist. So kann eine Testfunktion für einen Ursprung auf mehreren Subdomains eines Ursprungs getestet werden, ohne dass für jede Subdomain ein anderes Token erforderlich ist.

In Chrome DevTools wird neben dem Namen des Testzeitraums eine Warnung angezeigt, wenn der Testzeitraum für den aktuellen Nutzer nicht verfügbar ist, das Token abgelaufen ist oder es andere Einschränkungen gibt.

In Chrome DevTools werden im Bereich „Anwendung“ Informationen zu Ursprungstests mit abgelaufenem Token angezeigt

Statuscodes

In den Chrome-Entwicklertools können die folgenden Statuscodes angezeigt werden.

  • Abgelaufen: Das Ablaufdatum des Tokens ist verstrichen. Wenn Sie das Testen des Ursprungs wieder aktivieren möchten, muss das Token erneuert werden. Erstelle ein neues Token mit einem neuen Ablaufdatum. Quellcode

  • FeatureDisabled: Die Testversion ist deaktiviert. Quellcode

  • FeatureDisabledForUser: Dieses Token wurde für den aktuellen Nutzer mit einer alternativen Nutzungsbeschränkung deaktiviert. Weitere Informationen finden Sie im Abschnitt „Ausschlüsse für Teilmengen von Nutzern“ des Designdokuments. Quellcode 1 und Quellcode 2

  • Unsicher: Der Ursprung der Anfrage ist unsicher und der Testzeitraum ist für unsichere Ursprünge nicht aktiviert. Wie im Code des Token-Validators für den Ursprungstest erläutert: „Bei Drittanbieter-Tokens müssen sowohl der aktuelle Ursprung als auch der Script-Ursprung sicher sein. Aufgrund der Übereinstimmung mit der Subdomain stimmt der Tokenursprung möglicherweise nicht genau mit einem der angegebenen Scriptursprünge überein. Im Ergebnis wird nicht angegeben, welcher Ursprung genau übereinstimmt. Das bedeutet, dass es sich nicht um eine direkte Suche nach dem entsprechenden Script-Ursprung handelt. Damit Sie nicht alle Herkunftsvergleiche noch einmal durchführen müssen, gibt es Tastenkürzel, die davon abhängen, wie viele Script-Quellen angegeben wurden. Es muss mindestens eine vorhanden sein, da das Drittanbieter-Token sonst nicht validiert werden kann.' Quellcode

  • InvalidSignature: Das Token hat eine ungültige oder fehlerhafte Signatur. Quellcode

  • Fehlerhaft: Das Token ist fehlerhaft und konnte nicht geparst werden. Quellcode

  • NotSupported: Der vom Token definierte Test wird vom Chromium-Embedder nicht unterstützt. Ein Embedder kann ein Browser (z. B. Chrome oder Edge), eine WebView oder ein anderer User-Agent sein. Quellcode

  • Erfolg: Das Token ist korrekt formatiert, ist nicht abgelaufen, stimmt mit einer Testfunktion für den Ursprung überein und wird von einer erwarteten Quelle angefordert. Quellcode

  • TokenDisabled: Das Token wurde als deaktiviert markiert und kann nicht verwendet werden. Quellcode

  • TrialNotAllowed: Der Testzeitraum für den Ursprung ist für den aktuellen Nutzer nicht verfügbar. Quellcode

  • UnknownTrial: Das Token gibt einen Funktionsnamen an, der mit keinem bekannten Test übereinstimmt. Quellcode

  • WrongOrigin: 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 in einem HTTP-Header, Meta-Tag oder Inline-Script statt in einer externen JavaScript-Datei bereitgestellt wird. Quellcode

  • WrongVersion: Sie verwenden die falsche Tokenversion. Es werden nur die Tokenversionen 2 und 3 unterstützt. Quellcode


Erforderliche Bedingungen für Herkunftstests

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. Mit Chrome-Testtokens für den Ursprung können keine Funktionen in anderen Browsern aktiviert werden, einschließlich Chromium und Chromium-basierter Browser. Das liegt daran, dass Chrome-Ursprungstests nur für Funktionen gelten, die in Chrome für Tests verfügbar gemacht wurden.

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 Ursprungstests ist auf bestimmte Chrome-Versionen beschränkt. Das bedeutet möglicherweise, dass eine Testfunktion nur für Chrome-Kanäle vor der stabilen Version verfügbar ist: Canary, Entwickler und Beta.

Auf der Registrierungsseite können Sie prüfen, ob die Version für den Test verfügbar ist:

Chrome-Ursprungstests für First-Party-Sets und SameParty mit hervorgehobener Chrome-Verfügbarkeit

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. So können Sie beispielsweise bestimmte Privacy Sandbox-Funktionen auf der Seite chrome://settings/adPrivacy deaktivieren.

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 mit 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);
}

Der Ursprung des selbst erhobenen Tokens stimmt mit dem Ursprung der Seite ü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.

Wenn Sie beispielsweise https://example.com als Web-Ursprung ausgewählt haben:

Chrome-Seite für Ursprungstests mit https://beispiel.de als ausgewähltem Webursprung

Möglicherweise erhalten Sie einen Tokenwert wie diesen:

Chrome Origin Trials-Seite mit Tokenwert

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...">

Wenn ein Token in einem Header angegeben ist, können Sie den Tokenwert im Chrome DevTools-Bereich „Netzwerk“ unter Antwortheader prüfen:

Der Netzwerkbereich der Chrome-Entwicklertools mit dem Antwortheader für Ursprungstests.

Das selbst erhobene Token wird von der Quelle ausgeliefert, die es verwendet.

Wenn Sie den Zugriff auf eine Testfunktion für den Ursprung für Code auf einer Seite ermöglichen möchten, die von Ihrem Ursprung ausgeliefert wird, geben Sie ein Testtoken in einem Meta-Tag, Header oder mit 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.

Registrierungsseite für Chrome-Ursprungstests, auf der die Abgleiche von Drittanbietern ausgewählt sind

Der Ursprungswert für ein Drittanbieter-Token muss mit dem Ursprung des Scripts übereinstimmen, das es einschleust.

Drittanbieter-Script verwendet ein Drittanbieter-Token

Sie können ein Drittanbieter-Script nicht für die Teilnahme an einem Ursprungstest auf Ihrer Website aktivieren, indem Sie nur ein Token für Ihren Ursprung registrieren und das Script vergessen.

Drittanbieterscripts müssen Tokens mit aktiviertem Drittanbieterabgleich verwenden, die über das Script selbst eingefügt werden. Diese Tokens können nicht in ein Meta-Tag oder einen Header auf Ihrer Website eingefügt werden. Das JavaScript könnte so aussehen:

// Add a third-party OT token
function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Das Drittanbieter-Token wird über ein externes Script bereitgestellt, nicht über ein Meta-Tag, einen HTTP-Header oder ein Inline-Script.

Drittanbieter-Tokens werden anhand des Ursprungs des Scripts validiert, über das sie eingefügt wurden. Inline-Scripts und <meta>-Tags in statischem Markup haben jedoch keinen Ursprung.

Das bedeutet, dass ein Drittanbieter-Token mit einem externen Script bereitgestellt werden muss, nicht in einem <meta>-Tag oder Inline-Script. 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 Arten von Zugriff auf Funktionen von Ursprungstests musst du ein Probeabo-Token auf eine bestimmte Weise angeben. Beispielsweise ist es nur möglich, 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:

Registrierungsseite für Chrome-Ursprungstests mit ausgewählter Option für die Subdomain-Übereinstimmung

Sie können auch Subdomains für Drittanbieter-Tokens abgleichen:

Registrierungsseite für Chrome-Ursprungstests, auf der die Abgleiche für Drittanbieter und Subdomains ausgewählt sind

Für Ursprünge in der Public Suffix List werden keine Subdomain-Tokens ausgestellt. Sie können beispielsweise keinen Ursprung wie https://appspot.com oder https://github.io registrieren, aber Domains innerhalb dieses Ursprungs, 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 Datum Gültig bis 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 für Chrome Origin Trials suchen:

Chrome-Testversionen mit Ursprungsdatum 



Seite „Meine Registrierungen“ mit dem Gültigkeitsdatum

In den Chrome-Entwicklertools wird der Status Success angezeigt, wenn das Token noch gültig ist:

Informationen zu Ursprungstests in Chrome DevTools im Bereich „Anwendung“ mit dem Status „Erfolg“

Wenn Ihr Token abgelaufen ist, wird in DevTools der Status Expired angezeigt und auf der Seite Meine Registrierungen der Abschnitt Abgelaufene Tokens.

Chrome-Ursprungstests: Auf der Seite „Meine Registrierungen“ werden abgelaufene Tokens angezeigt.

Der Ursprungstest läuft noch

Das Enddatum eines Testzeitraums für einen Ursprungskanal finden Sie auf der Registrierungsseite:

Chrome-Seite für Ursprungstests für First-Party-Sets und SameParty mit hervorgehobenen Details zum Test

Bei beendeten Tests wird in DevTools ungefähr Folgendes angezeigt:

Chrome DevTools: Informationen zu Ursprungstests im Bereich „Anwendung“ mit den Meldungen „ValidTokenNotProvided“ und „Status Expired“

Sie erhalten automatische E-Mails, wenn Feedback erforderlich ist oder ein Token bald abläuft, aber nicht, wenn der Testzeitraum endet.

Der Testzeitraum für den Ursprung ist für den aktuellen Nutzer verfügbar

Einige Testversionen sind für bestimmte Nutzer nicht verfügbar, auch wenn ein gültiges Token angegeben wird.

Wenn für den aktuellen Nutzer kein Testzeitraum verfügbar ist, wird in Chrome DevTools eine TrialNotAllowed Warnung angezeigt:

Informationen zu Ursprungstests in Chrome DevTools im Bereich „Application“ (Anwendung) mit der Warnung „TrialNotAllowed“

Für jeden Test der Herkunft werden Informationen zu Nutzungsbeschränkungen und Verfügbarkeit bereitgestellt.

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 Funktion für einen Test auf jeder Seite aktiviert, die ein gültiges Token für den Test hat.

Außer in seltenen Fällen ist die Nutzung des Ursprungstests 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 Betrag überschreitet. In den DevTools wird der Tokenstatus als deaktiviert angezeigt.

Für Tests zur Einstellung gibt es keine Nutzungsbeschränkungen, da keine neuen Funktionen eingeführt werden. Daher besteht auch kein Risiko, dass ein großer Teil des Webs von einer Testfunktion abhängig wird.

Bei einigen Testzeiträumen können Sie die Nutzung einschränken. Das bedeutet, dass die Funktionen des ursprünglichen Testzeitraums für einige Nutzer deaktiviert sind. Diese Option ist auf der Registrierungsseite für einen Ursprung verfügbar, bei dem sie angeboten wird:

Registrierungsseite für Chrome-Ursprungstests mit Nutzungseinschränkungen

Wenn Sie feststellen, dass der Zugriff Ihrer Nutzer auf eine Testfunktion für den Ursprung niedriger als erwartet ist, prüfen Sie, ob Standardlimit ausgewählt ist.

Iframes stellen eigene Tokens bereit

Damit der Zugriff auf eine Testfunktion für den Ursprung gewährt werden kann, muss ein Iframe ein Token in einem Meta-Tag, einem HTTP-Header oder programmgesteuert bereitstellen. Iframes haben 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 von Test-Streams können durch einen Permissions-Policy beeinträchtigt werden. Sie können dies in der Intent to Experiment-Funktion für die Testfunktion oder in der Entwicklerdokumentation für die Funktion unter developer.chrome.com/docs prüfen.

Prüfen Sie, ob die Funktion, auf die Sie zugreifen möchten, nicht durch eine Permissions-Policy-Anweisung blockiert wird. Sie können im Chrome DevTools-Bereich Netzwerk nach Antwortheadern suchen und im Bereich Anwendung eine vollständige Liste der zulässigen Funktionen aufrufen.

Der Bereich „Anwendung“ in den Chrome-Entwicklertools mit der Funktion „Berechtigungsrichtlinie erlaubt“

Was ist mit den Arbeitern?

Funktionen für Ursprungstests können für Service-Worker, freigegebene Worker und dedizierte Worker verfügbar gemacht werden. Wenn Sie den Zugriff für Service-Worker und freigegebene Worker aktivieren möchten, müssen Sie ein Token in einem Origin-Trial-Header angeben.

Benutzer mit dedizierten Rollen erhalten Zugriff auf Funktionen, die in ihrem übergeordneten Dokument aktiviert sind.

Token wird vor dem Zugriff auf die Funktion bereitgestellt

Achte darauf, dass ein Token für den Testzeitraum des Ursprungs vor dem Zugriff auf eine Testfunktion bereitgestellt wird. Wenn eine Seite beispielsweise ein Token mit JavaScript bereitstellt, muss der Code zum Bereitstellen des Tokens vor dem Code ausgeführt werden, der versucht, auf die Testfunktion zuzugreifen.

Demos für Ursprungstests

Auf den folgenden Websites finden Sie Beispiele für die Tokenbereitstellung.

Ursprungs-Testzeitraum-Token bereitstellen

Tools für Ursprungstests

Funktionen im Ursprungstest

Die folgenden Demos sind für APIs in laufenden Ursprungstests

Weitere Informationen