Risolvere i problemi relativi alle prove dell'origine di Chrome

Risolvi i problemi comuni relativi ai token di prova in meta tag, intestazioni e script.

Elenco di controllo

Per risolvere i problemi relativi a una prova dell'origine, risolvi tutti i problemi riportati di seguito utilizzando i link forniti.

Il token di prova non {il token di prova e Il token di prova non e {il token e {il token di prova e {il token e {il token e {la parte e lo script di prova e {la parte e il token e {la parte e {il token e lo script di prova non e {il token e il token e lo script e {la parte

Dalle un'occhiata.

Le demo riportate di seguito mostrano ciascuno dei modi per fornire un token della prova dell'origine e accedere a una funzionalità della prova:

Utilizzare Chrome DevTools per verificare i token

Da Chrome 93 DevTools fornisce informazioni sulla prova dell'origine nel riquadro dell'applicazione per il frame selezionato.

Informazioni sulle prove dell'origine di Chrome DevTools nel riquadro Applicazione.

Espandi il frame superiore per ispezionare i token della prova dell'origine disponibili per un frame secondario. Ad esempio, per la pagina dimostrativa all'indirizzo ot-iframe.glitch.me, puoi notare che la pagina nell'iframe fornisce un token.

Chrome DevTools 
  Riquadro dell'applicazione che mostra i token della prova dell'origine per la pagina nell'iframe.

  • Stato del token: indica se la pagina ha un token valido. Tieni presente che per alcune prove dell'origine potrebbero esserci altri fattori, come restrizioni geografiche, che implicano che la funzionalità della prova dell'origine non è disponibile, nonostante la presenza di un token valido. I codici di stato di Chrome DevTools spiegano il significato di ciascuno dei codici per le prove dell'origine.
  • Origine: l'origine web registrata per il token.
  • Scadenza: la data/ora di scadenza massima (più recente) possibile per il token, che in genere corrisponde alla fine della prova. Non corrisponde alla data di fine validità del token visualizzato in Le mie registrazioni, che mostra per quanto tempo il token è attualmente valido e può essere esteso.
  • Limitazione di utilizzo: limiti di utilizzo, che possono essere impostati per alcune prove.
  • Terze parti: indica se la corrispondenza di terze parti è attivata per il token. Questa funzionalità è disponibile per alcune prove dell'origine, in cui è necessario accedere a una funzionalità di prova su più siti da script di terze parti.
  • Corrispondenza subaccount: indica se la corrispondenza dei sottodomini è abilitata per il token. In questo modo una funzionalità di prova dell'origine può essere testata su più sottodomini di un'origine, senza richiedere un token diverso per ogni sottodominio.

Chrome DevTools mostrerà un avviso accanto al nome della prova se la prova non è disponibile per l'utente corrente, se il token è scaduto o se sono presenti altre limitazioni.

Informazioni sulle prove dell'origine di Chrome DevTools nel riquadro Applicazione che mostrano il token scaduto

Codici di stato di Chrome DevTools

  • Scaduto: il token ha superato la data di scadenza. Il token dovrà essere rinnovato per generare un nuovo token con una nuova data di scadenza.
    Codice sorgente

  • FeatureDisabled: la prova è attualmente disattivata.
    Codice sorgente

  • FeatureDisabledForUser: questo token è stato contrassegnato come disattivato per l'utente corrente tramite una limitazione di utilizzo alternativa. Consulta la sezione "Esclusioni sottoset utente" del documento di progettazione.
    Codice sorgente 1
    Codice sorgente 2

  • Non sicura: l'origine della richiesta non è sicura e la prova non è abilitata per origini non sicure. Come spiegato nel codice dello strumento di convalida del token della prova dell'origine: "Per i token di terze parti, sia l'origine corrente che quella dello script devono essere sicure. A causa della corrispondenza del sottodominio, l'origine del token potrebbe non essere una corrispondenza esatta per una delle origini dello script fornite e il risultato non indica l'origine specifica corrispondente. Ciò significa che non c'è una ricerca diretta per trovare l'origine dello script appropriata. Per evitare di ripetere tutti i confronti delle origini, esistono scorciatoie che dipendono dal numero di origini degli script fornite. Deve esserci almeno uno, altrimenti il token di terze parti non verrà convalidato correttamente".
    Codice sorgente

  • InvalidSignature: il token ha una firma non valida o in un formato non valido.
    Codice sorgente

  • Formato errato: il formato del token non è corretto e non è stato possibile analizzarlo.
    Codice sorgente

  • NotSupported: la prova dell'origine definita dal token non è supportata in Chromium "embedder", ovvero un browser come Chrome o Edge, un componente WebView o qualche altro user agent.
    Codice sorgente

  • Operazione riuscita: il token è nel formato corretto, non è scaduto, corrisponde a una funzionalità della prova dell'origine e viene richiesto da un'origine prevista.
    Codice sorgente

  • TokenDisabled: il token è stato contrassegnato come disabilitato e non può essere utilizzato.
    Codice sorgente

  • TrialNotAllowed: la prova dell'origine non è disponibile per l'utente corrente.
    Codice sorgente

  • UnknownTrial: il token specifica un nome di funzionalità che non corrisponde ad alcuna prova nota.
    Codice sorgente

  • WrongOrigin: l'origine della richiesta non corrisponde a quella specificata nel token. Possono essere inclusi lo schema, il nome host o la porta. Questo stato viene visualizzato anche se viene fornito un token di terze parti in un'intestazione HTTP, un meta tag o uno script incorporato, anziché in un file JavaScript esterno.
    Codice sorgente

  • WrongVersion: versione del token errata: attualmente sono supportate solo la versione 2 e 3 del token.
    Codice sorgente


Non funziona. 🤔

Se la prova dell'origine non funziona come previsto, assicurati di soddisfare le seguenti condizioni.

Stai eseguendo il test in Chrome, non in Chromium o in un altro browser

Le prove dell'origine di Chrome sono progettate per gli utenti di Chrome. Non fare affidamento sui token della prova dell'origine di Chrome per attivare le funzionalità della prova in altri browser, tra cui Chromium e altri browser basati su Chromium. Questo perché le prove dell'origine di Chrome sono specifiche delle funzionalità rese disponibili in Chrome per l'esperimento.

Le prove dell'origine sono disponibili anche per Firefox e Microsoft Edge. La registrazione a una prova dell'origine di Firefox o Edge non attiverà una funzionalità in Chrome.

La prova dell'origine è attiva per le versioni di Chrome che accedono al tuo sito

L'accesso alle prove è limitato a versioni specifiche di Chrome. In alcuni casi, ciò può significare che la funzionalità di prova è disponibile solo per i canali Chrome prestabiliti: Canary, Dev e Beta.

Puoi verificare la disponibilità della versione dalla pagina di registrazione per la prova:

Pagina Prove dell'origine Chrome
per insiemi proprietari e SameParty con disponibilità di Chrome evidenziata

Puoi controllare la versione di Chrome in uso all'indirizzo chrome://version.

La prova dell'origine non è disattivata dalle impostazioni di Chrome

Se un singolo utente segnala che una funzionalità non è disponibile, verifica che la funzionalità non sia disattivata nelle impostazioni di Chrome. Ad esempio, le funzionalità di Privacy Sandbox possono essere disattivate dalla pagina chrome://settings/privacySandbox.

Le parole chiave e la sintassi sono corrette

Assicurati di utilizzare parole chiave e sintassi appropriate per i token della prova dell'origine.

Per l'utilizzo proprietario, è possibile fornire un token in un meta tag origin-trial:

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

In alternativa, è possibile fornire un token in un'intestazione della risposta Origin-Trial. Ecco un esempio utilizzando Express in Node.js:

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

I token possono essere forniti anche utilizzando JavaScript:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

L'origine del token proprietario corrisponde all'origine della pagina

Assicurati che il valore Origine web selezionato quando ti registri per una prova corrisponda all'origine della pagina che contiene il meta tag o l'intestazione che fornisce il token.

Ad esempio, se hai selezionato https://example.com come Origine web:

La pagina Prove dell&#39;origine Chrome 
mostra l&#39;indirizzo https://example.com selezionato come origine web.

Potresti ottenere un valore del token come questo:

Pagina Prove dell&#39;origine Chrome
che mostra il valore del token.

Verifica che questo valore corrisponda al token utilizzato nella pagina che stai risolvendo.

Per un token fornito in un meta tag, controlla il codice HTML:

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

Per un token fornito in un'intestazione, puoi controllare il relativo valore nel riquadro Network (Rete) di Chrome DevTools in Intestazioni della risposta:

Chrome DevTools 
Riquadro di rete che mostra l&#39;intestazione della risposta delle prove dell&#39;origine.

Il token proprietario viene fornito dall'origine che lo utilizza

Per abilitare l'accesso a una funzionalità della prova dell'origine per il codice incluso in una pagina pubblicata dalla tua origine, fornisci un token di prova in un meta tag, nell'intestazione o tramite JavaScript della stessa origine.

L'origine registrata per un token deve corrispondere all'origine che lo gestisce.

L'origine del token di terze parti corrisponde all'origine dello script

Puoi registrarti per partecipare a una prova dell'origine per gli script inseriti su altre origini.

Ad esempio, se vuoi che gli script pubblicati da javascript-library.example partecipino a una prova dell'origine, devi registrare un token con corrispondenza di terze parti per javascript-library.example.

Pagina di registrazione delle prove dell&#39;origine di Chrome
in cui è selezionata la corrispondenza di terze parti.

Il valore dell'origine di un token di terze parti deve corrispondere all'origine dello script che lo inserisce.

Lo script di terze parti utilizza un token di terze parti

Non puoi consentire a uno script di terze parti di partecipare a una prova dell'origine sul tuo sito semplicemente registrando un token per l'origine e non per lo script.

Gli script di terze parti devono utilizzare token con la corrispondenza di terze parti attivata, inseriti tramite lo script stesso (non inclusi in un meta tag o in un'intestazione sul tuo sito) utilizzando codice come il seguente:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Il token di terze parti è fornito tramite uno script esterno, non un meta tag, un'intestazione HTTP o uno script incorporato

I token di terze parti vengono convalidati in base all'origine dello script che li ha inseriti, ma gli script incorporati e i tag <meta> nel markup statico non hanno un'origine (ovvero un URL di origine).

Ciò significa che un token di terze parti deve essere fornito tramite uno script esterno e non in un tag <meta> o in uno script incorporato. Non importa se lo script esterno che inserisce il token proviene dalla stessa origine della pagina che lo contiene o da un'origine diversa, purché l'origine dello script corrisponda a un'origine registrata per la prova.

Puoi vedere una demo all'indirizzo ot-iframe-3p.glitch.me.

L'accesso alla funzionalità della prova dell'origine è supportato per il metodo utilizzato per fornire un token della prova

Alcuni tipi di accesso alle funzionalità della prova dell'origine richiedono di fornire un token della prova in un modo specifico. Ad esempio, l'unico modo per abilitare l'accesso alla prova dell'origine per i service worker e i worker condivisi è fornire un token in un'intestazione Origin-Trial.

La corrispondenza dei sottodomini è abilitata per un token utilizzato in un sottodominio

Se una funzionalità della prova dell'origine non sembra funzionare per alcune pagine del tuo sito, verifica che i token siano configurati correttamente per i sottodomini che le forniscono.

Quando ti registri per una prova dell'origine, puoi scegliere di associare tutti i sottodomini dell'origine:

Pagina di registrazione delle prove dell&#39;origine di Chrome
in cui viene mostrata la corrispondenza del sottodominio selezionata

Puoi anche associare i sottodomini per i token di terze parti:

Pagina di registrazione delle prove dell&#39;origine di Chrome
in cui sono selezionate le corrispondenze di terze parti e del sottodominio

I token dei sottodomini non verranno emessi per le origini nell'elenco dei suffissi pubblici. Ad esempio, non puoi registrare un'origine come https://appspot.com o https://github.io, ma puoi registrarti per i domini all'interno di quell'origine, come https://example.appspot.com o https://example.github.io.

Il token è ancora valido

Dopo la creazione, i token sono validi per sei settimane. Oltre a questo, devi inviare un feedback per prolungare la data di validità. La guida alle prove dell'origine per gli sviluppatori web spiega come assicurarsi che il token sia valido per un'intera prova dell'origine.

Puoi verificare la presenza di token attivi nella pagina Le mie registrazioni delle prove dell'origine di Chrome:

Prove dell&#39;origine Chrome 
La pagina Le mie registrazioni mostra Valida fino alla data

Chrome DevTools mostra lo stato Success se il token è ancora valido:

Informazioni sulle prove dell&#39;origine di Chrome DevTools nel riquadro Applicazione, in cui è evidenziato lo stato: Operazione riuscita.

Se il token è scaduto, DevTools mostrerà lo stato Expired e nella pagina Le mie registrazioni verrà visualizzata la sezione Token scaduti.

Prove dell&#39;origine di Chrome 
pagina Le mie registrazioni che mostra i token scaduti.

La prova dell'origine non è terminata

Puoi controllare la data di fine di una prova dell'origine dalla pagina di registrazione:

Pagina Prove dell&#39;origine Chrome
per gli insiemi proprietari e SameParty con i dettagli Prova disponibile evidenziati.

Per le prove terminate, DevTools mostrerà qualcosa di simile a questo:

Informazioni sulle prove dell&#39;origine di Chrome DevTools
nel riquadro Applicazione che mostrano ValidTokenNotProvided e Stato scaduto

Riceverai email automatiche quando è necessario un feedback o un token sta per scadere, anche se non al termine del periodo di prova.

La prova dell'origine è disponibile per l'utente corrente

Alcune prove dell'origine non sono disponibili per determinati utenti, anche se viene fornito un token valido.

Se non è disponibile una prova per l'utente corrente, Chrome DevTools mostrerà l'avviso TrialNotAllowed:

Informazioni sulle prove dell&#39;origine di Chrome DevTools nel riquadro Applicazione che mostra l&#39;avviso TrialNotAllowed.

Le informazioni su limitazioni di utilizzo e disponibilità verranno fornite per ogni prova dell'origine.

Come per qualsiasi funzionalità della piattaforma web, devi utilizzare il rilevamento delle funzionalità per confermare che una funzionalità della prova dell'origine sia supportata prima di utilizzarla.

Non sono stati superati i limiti di utilizzo della prova dell'origine

Per impostazione predefinita, una funzionalità della prova dell'origine verrà abilitata su qualsiasi pagina che abbia un token valido per la prova.

Tuttavia, tranne in rari casi, l'utilizzo della prova dell'origine è limitato a un massimo dello 0,5% di tutti i caricamenti delle pagine di Chrome. La funzionalità della prova dell'origine viene disattivata se l'utilizzo totale da parte di tutti gli utenti di Chrome supera questo importo. DevTools mostrerà lo stato del token come disattivato.

Non sono previsti limiti di utilizzo per le prove di deprecazione, poiché queste non introducono nuove funzionalità e quindi non comportano il rischio di far dipendere una parte significativa del web da una funzionalità di prova.

Alcune prove offrono anche un'opzione per limitare l'utilizzo, il che significa che le funzionalità della prova dell'origine verranno disattivate per alcuni utenti. Questa opzione viene resa disponibile dalla pagina di registrazione per una prova dell'origine che offre:

Pagina di registrazione delle prove dell&#39;origine di Chrome 
che mostra le limitazioni di utilizzo.

Se noti che l'accesso da parte dei tuoi utenti a una funzionalità della prova dell'origine è inferiore al previsto, assicurati che "Limite standard" sia selezionato.

Gli iframe forniscono i propri token

Per consentire l'accesso a una funzionalità della prova dell'origine, un iframe deve fornire un token in un meta tag, in un'intestazione HTTP o in modo programmatico. Gli iframe non ereditano l'accesso alle funzionalità abilitate per le pagine che li contengono.

ot-iframe.glitch.me dimostra l'accesso a una funzionalità della prova dell'origine da un iframe. ot-iframe-3p.glitch.me fornisce più esempi di iframe multiorigine.

I criteri delle autorizzazioni sono configurati correttamente

Alcune funzionalità della prova dell'origine potrebbero essere interessate da un'intestazione Permissions-Policy (precedentemente nota come intestazione Feature-Policy). Puoi verificarlo nella pagina relativa all'intent all'esperimento per la funzionalità di prova o nella documentazione per gli sviluppatori relativa alla funzionalità su web.dev o developer.chrome.com/blog.

Assicurati che la funzionalità a cui stai tentando di accedere non sia bloccata da un'istruzione Permissions-Policy. Puoi controllare le intestazioni delle risposte nel riquadro Rete di Chrome DevTools e visualizzare l'elenco completo delle funzionalità consentite nel riquadro Applicazione.

Chrome DevTools 
  Riquadro dell&#39;applicazione che mostra la funzionalità consentita per i criteri relativi alle autorizzazioni.

E i lavoratori?

Le funzionalità delle prove dell'origine possono essere messe a disposizione di service worker, worker condivisi e worker dedicati. Tuttavia, l'unico modo per abilitare l'accesso per i service worker e i worker condivisi è fornire un token in un'intestazione Origin-Trial.

I worker dedicati ereditano l'accesso alle funzionalità abilitate dal loro documento principale.

Il token viene fornito prima dell'accesso alla funzionalità

Assicurati che venga fornito un token della prova dell'origine prima di accedere a una funzionalità della prova. Ad esempio, se una pagina fornisce un token tramite JavaScript, assicurati che il codice per fornire il token venga eseguito prima del codice che tenta di accedere alla funzionalità di prova.

Demo delle prove dell'origine

Scopri di più