Fehlerbehebung bei Chrome-Ursprungstests

Beheben Sie häufige Probleme mit Testtokens in Meta-Tags, Headern und Skripts.

Checkliste

Gehen Sie zur Fehlerbehebung bei einem Ursprungstest jedes der folgenden Probleme über die bereitgestellten Links durch.

Jetzt ausprobieren!

In den folgenden Demos werden alle Möglichkeiten gezeigt, ein Ursprungstesttoken bereitzustellen und auf eine Testfunktion zuzugreifen:

Tokens mit den Chrome-Entwicklertools prüfen

In den Chrome 93-Entwicklertools finden Sie Anwendungsbereich für den ausgewählten Frame.

Chrome-Entwicklertools 
Informationen zu Ursprungstests im Anwendungsbereich.

Maximieren Sie den oberen Frame, um die für einen Subframe verfügbaren Ursprungstesttokens zu prüfen. Für das Feld Demoseite unter ot-iframe.glitch.me enthalten, können Sie sehen, dass die Seite im iFrame stellt ein Token bereit.

Chrome-Entwicklertools 
  Anwendungsbereich mit Ursprungstesttokens für die Seite in iFrame.

  • Tokenstatus: Gibt an, ob die Seite ein gültiges Token hat. Bei einigen Ursprungstests kann es andere Faktoren wie geografische Einschränkungen bedeuten, dass der Ursprungstest verfügbar sind, obwohl ein gültiges Token vorhanden ist. Statuscodes in Chrome-Entwicklertools wird die Bedeutung der einzelnen Codes für Ursprungstests erläutert.
  • Ursprung: Der Webursprung, der für die Token.
  • Expiry Time: Das späteste (neueste) Ablaufdatum für das Token, das normalerweise mit dem Ende des Tests übereinstimmen. Dies entspricht nicht dem „Gültig bis“-Datum für das angezeigte Token. in Meine Registrierungen , der angibt, wie lange das Token derzeit gültig ist, und erweiterbar.
  • Nutzungsbeschränkung: Nutzungsbeschränkungen, die für einige Testläufe festgelegt werden können.
  • Drittanbieter: Gibt an, ob der Drittanbieter-Abgleich für das Token aktiviert ist. Diese Option ist für einige Ursprungstests verfügbar, bei denen eine Testfunktion auf mehreren Websites über Drittanbieter-Skripts zugegriffen werden kann.
  • Sub-Domains abgleichen: Gibt an, ob der Subdomain-Abgleich erfolgt für das Token aktiviert ist. Dadurch kann eine Ursprungstestfunktion auf mehreren Subdomains eines Ursprungs, 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 er nicht verfügbar ist. für den aktuellen Nutzer, das Token ist abgelaufen oder es gibt andere Einschränkungen.

Chrome-Entwicklertools 
Informationen zu Ursprungstests im Anwendungsbereich mit abgelaufenem Token

Statuscodes in Chrome-Entwicklertools

  • Abgelaufen: Das Ablaufdatum des Tokens ist abgelaufen. Das Token muss erneuert werden, um Generieren Sie ein neues Token mit einem neuen Ablaufdatum.
    Quellcode

  • FeatureDisabled: Testversion ist derzeit deaktiviert.
    Quellcode

  • FeatureDisabledForUser: Dieses Token wurde für den aktuellen Nutzer über ein eine alternative Nutzungsbeschränkung zu. Siehe "Ausschlüsse von Nutzerteilmengen". des Designdokuments.
    Quellcode 1
    Quellcode 2

  • Unsicher: Der Anfrageursprung ist unsicher und der Test ist für unsichere Ursprünge nicht aktiviert. Wie im Code des Validators für Ursprungstests erläutert: „Bei Drittanbieter-Tokens müssen sowohl der aktuelle Ursprung als auch der Skriptursprung sicher sein. Aufgrund von Subdomainabgleich: Der Ursprung des Tokens stimmt möglicherweise nicht genau mit einem der angegebenen Skripts überein. Quellen und das Ergebnis gibt nicht an, mit welchem spezifischen Ursprungsort abgeglichen wurde. Das heißt, es ist keine die direkte Suche verwenden, um den entsprechenden Ursprung des Skripts zu finden. Um zu vermeiden, dass alle Ursprungsvergleiche wiederholt werden, gibt es Tastenkombinationen, die davon abhängen, wie viele Skriptquellen angegeben wurden. Es müssen mindestens Andernfalls wird das Drittanbieter-Token nicht erfolgreich validiert.
    Quellcode

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

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

  • NotSupported: Der durch das Token definierte Ursprungstest wird in Chromium nicht unterstützt. „embedder“: ein Browser wie Chrome oder Edge, ein WebView oder ein anderer User-Agent.
    Quellcode

  • Erfolgreich: Das Token ist korrekt formatiert, nicht abgelaufen, stimmt mit einer Ursprungstestfunktion überein und ist von einem erwarteten Ursprung angefordert werden.
    Quellcode

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

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

  • UnknownTrial: Das Token gibt den Namen einer Funktion an, die mit keinem bekannten Test übereinstimmt.
    Quellcode

  • WrongOrigin: Der Anfrageursprung stimmt nicht mit dem im Token angegebenen Ursprung überein. Dies kann das Schema, den Hostnamen oder den Port enthält. Dieser Status wird auch angezeigt, wenn ein Drittanbieter-Token wird in einem HTTP-Header, einem Meta-Tag oder einem Inline-Skript statt aus einer externen JavaScript-Datei bereitgestellt.
    Quellcode

  • WrongVersion: Falsche Tokenversion: Derzeit werden nur die Tokenversionen 2 und 3 unterstützt.
    Quellcode


Es funktioniert nicht. 🤔

Wenn Ihr Ursprungstest nicht wie erwartet funktioniert, prüfen Sie, ob die folgenden Bedingungen erfüllt sind.

Du testest in Chrome, nicht in Chromium oder einem anderen Browser

Chrome-Ursprungstests wurden für Chrome-Nutzer entwickelt. Verlassen Sie sich nicht auf Tokens für den Chrome-Ursprungstest um Testfunktionen in anderen Browsern wie Chromium und anderen Chromium-basierten Browsern zu aktivieren. Das liegt daran, dass Chrome-Ursprungstests spezifisch für Funktionen sind, die in Chrome für zu experimentieren.

Ursprungstests sind auch für Firefox und Microsoft Edge verfügbar. Durch die Registrierung für einen Ursprungstest von Firefox oder Edge wird eine Funktion in Chrome nicht aktiviert.

Der Ursprungstest ist für die Chrome-Versionen aktiviert, die auf Ihre Website zugreifen

Der Zugriff auf Testversionen ist auf bestimmte Versionen von Chrome beschränkt. In einigen Fällen kann dies auch ist nur für die vor stabilen Versionen von Chrome verfügbar: Canary, Dev und Beta.

Sie können die Versionsverfügbarkeit auf der Registrierungsseite prüfen. für den Testzeitraum:

Chrome-Ursprungstests
Seite für First-Party-Sets und Verfügbarkeit von SameParty mit Chrome hervorgehoben

Sie können die verwendete Chrome-Version unter chrome://version prüfen.

Der Ursprungstest ist in den Chrome-Einstellungen nicht deaktiviert

Wenn ein einzelner Nutzer meldet, dass eine Funktion für ihn nicht verfügbar ist, stelle sicher, dass die Funktion nicht in ihren Chrome-Einstellungen deaktiviert ist. Beispiel: Privacy Sandbox Funktionen können auf der Seite chrome://settings/privacySandbox deaktiviert werden.

Keywords und Syntax sind korrekt

Achten Sie darauf, die richtigen Schlüsselwörter und die richtige Syntax für Ursprungstesttokens zu verwenden.

Für die Erstanbieternutzung kann ein Token in einem origin-trial-Meta-Tag bereitgestellt werden:

<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Alternativ kann ein Token in einem Origin-Trial-Antwortheader angegeben werden. Hier ist ein Beispiel, bei dem Express in Node.js:

app.use(function(req, res, next) {
  res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
  next();
});

Tokens können auch mithilfe von 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

Achten Sie darauf, dass der Wert Webursprung, der bei der Registrierung für einen Test ausgewählt wird, mit dem Ursprung des die das Meta-Tag oder den Header enthält, über das das Token bereitgestellt wird.

Angenommen, Sie haben https://example.com als Webursprung ausgewählt:

Chrome-Ursprungstests 
Seite, auf der „https://beispiel.de“ als Webursprung ausgewählt ist.

Sie können einen Tokenwert wie den folgenden erhalten:

Chrome-Ursprungstests 
Seite mit dem Tokenwert.

Überprüfen Sie, ob dieser Wert mit dem Token übereinstimmt, das auf der Seite verwendet wird, für die Sie eine Fehlerbehebung durchführen.

Für ein Token, das in einem Meta-Tag bereitgestellt wird, prüfen Sie den HTML-Code:

  <meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Für ein Token in einem Header können Sie den Tokenwert in der Bereich „Network“ (Netzwerk) in Chrome DevTools unter Response Headers (Antwortheader):

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

Das eigene Token wird von dem Ursprung bereitgestellt, von dem es verwendet wird

So ermöglichen Sie den Zugriff auf eine Ursprungstestfunktion für Code auf einer Seite, die von Ihrem Ursprungsserver bereitgestellt wird: ein Testtoken in einem Meta-Tag, in einem Header oder über JavaScript desselben Ursprungs bereitstellen.

Der für ein Token registrierte Ursprung muss mit dem Ursprung übereinstimmen, von dem es bereitgestellt wird.

Ursprung des Drittanbieter-Tokens stimmt mit Ursprung des Skripts überein

Sie können sich für die Teilnahme an einem Ursprungstest für Skripts registrieren, die in anderen Ursprüngen eingeschleust werden.

Wenn Sie z. B. möchten, dass Skripts, die von javascript-library.example bereitgestellt werden, an einen Ursprungstest durchgeführt haben, müssen Sie ein Token beim Drittanbieterabgleich für javascript-library.example registrieren.

Chrome-Ursprungstests 
Registrierungsseite, auf der der Abgleich von Drittanbietern ausgewählt ist.

Der Ursprungswert für ein Drittanbietertoken muss mit dem Ursprung des Skripts übereinstimmen, von dem es eingeschleust wird.

Drittanbieter-Script verwendet Drittanbieter-Token

Sie können Drittanbieter-Skripts nicht einfach so für die Teilnahme an einem Ursprungstest auf Ihrer Website aktivieren. und registriert ein Token für Ihren Ursprung und nicht für das Skript.

Für Skripts von Drittanbietern müssen Tokens verwendet werden, bei denen der Drittanbieterabgleich aktiviert ist und die über das Skript eingeschleust werden. selbst (nicht in einem Meta-Tag oder Header auf Ihrer Website) enthalten. Verwenden Sie dazu Code wie den folgenden:

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 Skripts geprüft, von dem sie eingefügt wurden, jedoch inline. Skripts und <meta>-Tags im statischen Markup haben keinen Ursprung, also keine Quell-URL.

Das bedeutet, dass ein Drittanbietertoken über ein externes Skript und nicht über ein <meta>-Tag bereitgestellt werden muss oder Inline-Script. Es spielt keine Rolle, ob das externe Skript, das das Token einschleust, vom denselben Ursprung wie die enthaltende Seite oder einen anderen Ursprung, solange der Ursprung des Skripts übereinstimmt einen für den Test registrierten Ursprung.

Eine Demo dazu finden Sie unter ot-iframe-3p.glitch.me.

Der Zugriff auf die Ursprungstestfunktion wird für die Methode unterstützt, mit der ein Testtoken bereitgestellt wird

Für einige Arten des Zugriffs auf Funktionen des Ursprungstests müssen Sie ein Testtoken auf bestimmte Weise bereitstellen. Die einzige Möglichkeit, den Zugriff auf den Ursprungstest für Service Worker und freigegebene Worker zu aktivieren, besteht beispielsweise darin, ein Token in einem Origin-Trial-Header angeben.

Der Subdomain-Abgleich ist für ein Token aktiviert, das für eine Subdomain verwendet wird

Wenn eine Ursprungstestfunktion auf einigen Seiten Ihrer Website nicht zu funktionieren scheint, prüfen Sie, -Tokens sind für die Subdomains, die sie bereitstellen, korrekt eingerichtet.

Wenn Sie sich für einen Ursprungstest registrieren, können Sie optional alle Subdomains der Ursprung:

Chrome-Ursprungstests 
Registrierungsseite mit ausgewählter Subdomain-Übereinstimmung

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

Chrome-Ursprungstests 
Registrierungsseite, auf der Abgleich von Drittanbietern und Subdomain-Übereinstimmungen ausgewählt ist

Subdomain-Tokens werden nicht ausgestellt. für Ursprünge in der Public Suffix List aufgeführt. Sie können sich beispielsweise nicht einen Ursprung wie https://appspot.com oder https://github.io. Sie können sich aber für Domains registrieren. innerhalb dieses Ursprungs, z. B. https://example.appspot.com oder https://example.github.io.

Das Token ist noch gültig

Nach der Erstellung sind Tokens sechs Wochen lang gültig. Darüber hinaus müssen Sie Feedback geben, um das Datum der Gültigkeit zu verlängern. Im Leitfaden zu Ursprungstests für Webentwickler wird erläutert, wie Sie dafür sorgen, Ihr Token ist für einen gesamten Ursprungstest gültig.

Sie können in Chrome auf der Seite Meine Registrierungen in Chrome-Ursprungstests nach aktiven Tokens suchen:

Chrome-Ursprungstests 
&quot;Gültig bis&quot; auf der Seite &quot;Meine Registrierungen&quot;

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

Chrome-Entwicklertools 
Informationen zu Ursprungstests im Bereich „Anwendung“, hervorgehoben ist „Status: Erfolgreich“.

Wenn Ihr Token abgelaufen ist, zeigt Entwicklertools den Status Expired und Ihre Auf der Seite Meine Registrierungen wird der Bereich Abgelaufene Tokens angezeigt.

Chrome-Ursprungstests 
Seite „Meine Registrierungen“ mit abgelaufenen Tokens.

Der Ursprungstest ist noch nicht beendet

Sie können das Enddatum eines Ursprungstests auf der Registrierungsseite einsehen:

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

Bei bereits beendeten Testzeiträumen wird in den Entwicklertools in etwa Folgendes angezeigt:

Chrome-Entwicklertools 
Informationen zu Ursprungstests im Anwendungsbereich, die „ValidTokenNotProvided“ und den Status „Abgelaufen“ anzeigen

Sie erhalten jedoch automatisierte E-Mails, wenn Feedback erforderlich ist oder ein Token bald abläuft. nicht nach Ablauf des Testzeitraums.

Der Ursprungstest 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 keine Testversion verfügbar ist, wird in den Chrome-Entwicklertools eine TrialNotAllowed-Warnung angezeigt:

Informationen zu Ursprungstests von Chrome DevTools im Anwendungsbereich mit der Warnung „TrialNotAllowed“.

Für jeden Ursprungstest werden Informationen zu Nutzungsbeschränkungen und Verfügbarkeit bereitgestellt.

Wie bei allen Webplattformfunktionen 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 Ursprungstest wurden nicht überschritten

Standardmäßig ist eine Ursprungstestfunktion auf jeder Seite aktiviert, die ein gültiges Token für den Test enthält.

In seltenen Fällen ist die Nutzung des Ursprungstests jedoch auf maximal 0,5% aller Chrome-Seitenladevorgänge beschränkt. Die Funktion für den Ursprungstest wird deaktiviert, wenn die Gesamtnutzung durch alle Chrome-Nutzer diesen Wert überschreitet. In den Entwicklertools wird der Tokenstatus als „Deaktiviert“ angezeigt.

Es gibt keine Nutzungslimits für Test zur Einstellung, da diese keine und stellen daher kein Risiko dar, einen erheblichen Teil im Web abhängig von einer Testfunktion.

Bei einigen Tests gibt es auch die Option, die Nutzung zu beschränken. Das bedeutet, dass die Funktionen des Ursprungstests für einige Nutzer deaktiviert. Diese Option wird auf der Registrierungsseite für einen Ursprung zur Verfügung gestellt. in dem es angeboten wird:

Chrome-Ursprungstests 
Registrierungsseite mit Nutzungsbeschränkungen.

Wenn Sie feststellen, dass Ihre Nutzer weniger Zugriff auf eine Ursprungstestfunktion haben als erwartet, stellen Sie sicher, dass das Standard-Limit ausgewählt ist.

iFrames stellen ihre eigenen Tokens bereit

Um den Zugriff auf eine Ursprungstestfunktion zu ermöglichen, muss ein iFrame ein Token in einem Meta-Tag, einem HTTP im Header oder programmatisch. iFrames übernehmen keinen Zugriff auf Funktionen, die für Seiten, die sie enthalten.

ot-iframe.glitch.me zeigt den Zugriff auf eine Ursprungstestfunktion aus einem iFrame aus. ot-iframe-3p.glitch.me bietet mehrere ursprungsübergreifenden iFrame-Beispielen.

Berechtigungsrichtlinien sind richtig konfiguriert

Einige Funktionen des Ursprungstests können von einem Permissions-Policy betroffen sein (früher Feature-Policy-Header genannt). Das können Sie im Absicht zu Experimenten für die Testfunktion oder in der Entwicklerdokumentation für die Funktion auf web.dev oder developer.chrome.com/blog.

Die Funktion, auf die du zugreifen möchtest, darf nicht durch Permissions-Policy blockiert sein . Sie können im Bereich „Netzwerk“ in Chrome DevTools nach Antwortheadern suchen und die vollständige Liste der zulässigen Funktionen finden Sie im Anwendungsbereich.

Chrome-Entwicklertools 
  Anwendungsbereich mit der Funktion für zugelassene Berechtigungsrichtlinien.

Was ist mit den Workern?

Ursprungstests können Service Workern, gemeinsam genutzten Workern und dedizierten Arbeiter. Der Zugriff für Service Worker und Shared Worker besteht jedoch nur darin, ein Token in einem Origin-Trial-Header.

Dedizierte Worker übernehmen den Zugriff auf Funktionen, die durch ihr übergeordnetes Dokument aktiviert wurden.

Das Token wird bereitgestellt, bevor auf die Funktion zugegriffen wird.

Achten Sie darauf, dass ein Token für den Ursprungstest bereitgestellt wird, bevor Sie auf eine Testfunktion zugreifen. Wenn eine Seite beispielsweise ein Token über JavaScript bereitstellt, stellen Sie sicher, dass der Code zum Bereitstellen des Tokens wird vor Code ausgeführt, der versucht, auf die Testfunktion zuzugreifen.

Demos des Ursprungstests

Weitere Informationen