Resolver problemas de testes de origem do Chrome

Resolva problemas comuns com tokens de teste em metatags, cabeçalhos e scripts.

Lista de verificação

Para resolver problemas de um teste de origem, siga os links fornecidos para solucionar cada um dos problemas abaixo.

Faça o teste!

As demonstrações abaixo mostram cada uma das maneiras de fornecer um token de teste de origem e acessar um recurso de teste:

Usar o Chrome DevTools para verificar tokens

No Chrome 93, o DevTools fornece informações sobre testes de origem na Painel de aplicativo para o frame selecionado.

Chrome DevTools 
informações de testes de origem no painel "Aplicativo".

Expanda o frame superior para inspecionar os tokens de teste de origem disponíveis para um subframe. Por exemplo, para o em ot-iframe.glitch.me, é possível observar que a página na o iframe fornece um token.

Chrome DevTools 
  Painel do aplicativo mostrando tokens de teste de origem para a página no iframe.

  • Status do token: se a página tem um token válido. Para alguns testes de origem, pode haver outros fatores, como restrições geográficas, que significam que o recurso de teste de origem não é disponível, apesar da presença de um token válido. Códigos de status do Chrome DevTools explica o significado de cada um dos códigos para testes de origem.
  • Origem: a origem da Web registrada para o com base no token correto anterior.
  • Expiry Time: a data/hora máxima (mais recente) de validade possível do token, que normalmente correspondem ao final do teste. Não é a mesma que a data de validade para o token exibido em Meus registros, , que mostra por quanto tempo o token é válido no momento, e pode ser estendida.
  • Restrição de uso: limites de uso, que podem ser definidos para alguns testes.
  • Terceiros: se a correspondência de terceiros está ativada para o token. Esse recurso está disponível para alguns testes de origem, em que o recurso precisa: ser acessados em vários sites por scripts de terceiros.
  • Corresponder subdomínios: se o subdomínio corresponde está ativada para o token. Isso permite que um recurso de teste de origem seja testado em vários subdomínios de uma origem, sem exigir um token diferente para cada subdomínio.

Se o teste não estiver disponível, o Chrome DevTools vai mostrar um aviso ao lado do nome do teste para o usuário atual, o token expirou ou se houver outras restrições.

Chrome DevTools 
informações de testes de origem no painel do aplicativo mostrando o token expirado

Códigos de status do Chrome DevTools

  • Expirado: o token passou da data de validade. O token precisará ser renovado para gerar um novo token com uma nova data de validade.
    Código-fonte

  • FeatureDisabled: o teste está desativado para uso no momento.
    Código-fonte

  • FeatureDisabledForUser: esse token foi designado como desativado para o usuário atual por meio de um restrição de uso alternativa. Consulte "Exclusões de subconjuntos de usuários" do documento de design.
    Código-fonte 1
    Código-fonte 2

  • Insegura: a origem da solicitação não é segura, e o teste não está ativado para origens não seguras. Conforme explicado no código validador do token de teste de origem: "Para tokens de terceiros, a origem atual e a origem do script precisam ser seguras. Devido a subdomínio correspondente, a origem do token pode não ser uma correspondência exata de um dos scripts fornecidos origens, e o resultado não indica qual origem específica foi correspondida. Isso significa que não é um pesquisa direta para encontrar a origem do script adequada. Para evitar refazer todas as comparações de origens, há atalhos que dependem de quantas origens de script foram fornecidas. Deve haver pelo menos ou o token de terceiros não será validado com êxito."
    Código-fonte

  • InvalidSignature: o token tem uma assinatura inválida ou malformada.
    Código-fonte

  • Incorreto: o token está incorreto e não foi possível analisar.
    Código-fonte

.
  • NotSupported: o teste de origem definido pelo token não é compatível com o Chromium. "incorporado": um navegador como o Chrome ou o Edge, um WebView ou outro user agent.
    Código-fonte

  • Sucesso: o token está bem formado, não expirou, corresponde a um recurso de teste de origem e é solicitada de uma origem esperada.
    Código-fonte

  • TokenDisabled: o token foi marcado como desativado e não pode ser usado.
    Código-fonte

  • TrialNotAllowed: o teste de origem não está disponível para o usuário atual.
    Código-fonte

  • UnknownTrial: o token especifica um nome de recurso que não corresponde a nenhum teste conhecido.
    Código-fonte

  • WrongOrigin: a origem da solicitação não corresponde à especificada no token. Isso pode inclua o esquema, o nome do host ou a porta. Esse status também será exibido se um token de terceiros seja fornecido em um cabeçalho HTTP, metatag ou script em linha, e não de um arquivo JavaScript externo.
    Código-fonte

  • WrongVersion: versão incorreta do token. Somente as versões 2 e 3 do token são compatíveis no momento.
    Código-fonte


Não está funcionando! 🤔

Se o teste de origem não estiver funcionando como esperado, verifique se você atendeu às condições a seguir.

Você está testando no Chrome, não no Chromium ou em outro navegador

Os testes de origem do Chrome foram criados para funcionar com os usuários desse navegador. Não confie nos tokens de teste de origem do Chrome para ativar os recursos de teste em outros navegadores, incluindo o Chromium e outros navegadores baseados no Chromium. Isso ocorre porque os testes de origem do Chrome são específicos para recursos disponibilizados no Chrome para experimentação.

Os testes de origem também estão disponíveis para o Firefox e o Microsoft Edge. A inscrição em um teste de origem do Firefox ou do Edge não ativa um recurso no Chrome.

O teste de origem está ativado para as versões do Chrome que acessam seu site.

O acesso aos testes é limitado a versões específicas do Chrome. Em alguns casos, isso pode significar um teste O recurso está disponível apenas para os canais pré-estáveis do Chrome: Canary, Dev e Beta.

Verifique a disponibilidade da versão na página de registro para o teste:

Testes de origem do Chrome
página para conjuntos primários e Disponibilidade do SameParty com o Chrome destacada

Você pode conferir a versão do Chrome que está usando em chrome://version.

O teste de origem não é desativado pelas configurações do Chrome

Se um usuário relatar que um recurso não está funcionando para ele, verifique se o recurso não está desativado nas configurações do Chrome. Por exemplo, Sandbox de privacidade recursos podem ser desativados na página chrome://settings/privacySandbox.

As palavras-chave e a sintaxe estão corretas

Use palavras-chave e sintaxe adequadas para os tokens de teste de origem.

Para uso próprio, um token pode ser fornecido em uma metatag origin-trial:

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

Como alternativa, é possível fornecer um token em um cabeçalho de resposta Origin-Trial. Aqui está um exemplo que usa Express em Node.js:

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

Os tokens também podem ser fornecidos usando JavaScript:

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

A origem do token próprio corresponde à origem da página

Verifique se o valor de Web Origin selecionado ao se inscrever em um teste corresponde à origem do página com a metatag ou o cabeçalho que fornece o token.

Por exemplo, se você selecionou https://example.com como a Origem da Web:

Testes de origem do Chrome 
página mostrando https://example.com selecionado como origem da Web.

É possível receber um valor de token como este:

Testes de origem do Chrome 
página mostrando o valor do token.

Verifique se esse valor corresponde ao token usado na página que você está solucionando.

Para obter um token fornecido em uma metatag, verifique o HTML:

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

Para um token fornecido em um cabeçalho, você pode verificar o valor do token no Painel Rede do Chrome DevTools em Cabeçalhos de resposta:

Chrome DevTools 
Painel de rede mostrando o cabeçalho de resposta dos testes de origem.

O token próprio é veiculado a partir da origem que o utiliza.

Para permitir o acesso a um recurso de teste de origem para o código incluído em uma página veiculada da sua origem, forneça um token de teste em uma metatag, cabeçalho ou JavaScript da mesma origem.

A origem registrada para um token precisa corresponder à origem que o disponibiliza.

A origem do token de terceiros corresponde à origem do script

Você pode se registrar para participar de um teste de origem para scripts injetados em outras origens.

Por exemplo, se você quiser que os scripts veiculados por javascript-library.example participem um teste de origem, você precisa registrar um token com correspondência de terceiros para javascript-library.example.

Testes de origem do Chrome 
página de registro mostrando a correspondência de terceiros selecionada.

O valor de origem de um token de terceiros precisa corresponder à origem do script que o injeta.

O script de terceiros usa um token de terceiros

Não é possível permitir que um script de terceiros participe de um teste de origem no seu site simplesmente registrando um token para sua origem e não para o script.

Scripts de terceiros precisam usar tokens com a correspondência de terceiros ativada, injetada pelo script (não incluído em uma metatag ou um cabeçalho do seu site) usando um código como o seguinte:

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

O token de terceiros é fornecido por um script externo, e não por uma metatag, cabeçalho HTTP ou script in-line

Os tokens de terceiros são validados em relação à origem do script que os injetou, mas em linha Os scripts e as tags <meta> em marcação estática não têm uma origem (ou seja, um URL de origem).

Isso significa que um token de terceiros precisa ser fornecido por um script externo, não em uma tag <meta>. ou script em linha. Não importa se o script externo que injeta o token vem do mesma origem da página que o contém, ou uma origem diferente, desde que a origem do script corresponda uma origem registrada para o teste.

É possível ver uma demonstração disso em ot-iframe-3p.glitch.me.

O acesso ao recurso de teste de origem é compatível com o método usado para fornecer um token de teste

Alguns tipos de acesso aos recursos de teste de origem exigem que você forneça um token de teste de uma forma específica. Por exemplo, a única maneira de ativar o acesso de teste de origem para service workers e workers compartilhados é fornecer um token em um cabeçalho Origin-Trial.

A correspondência de subdomínio está ativada para um token usado em um subdomínio

Se um recurso de teste de origem não estiver funcionando para algumas páginas do seu site, verifique se os tokens estão configurados corretamente para os subdomínios que os veiculam.

Ao se registrar para um teste de origem, você tem a opção de optar por corresponder todos os subdomínios do origem:

Testes de origem do Chrome 
página de registro mostrando a correspondência de subdomínio selecionada

Também é possível corresponder subdomínios para tokens de terceiros:

Testes de origem do Chrome 
página de registro mostrando a correspondência de terceiros e a correspondência de subdomínio selecionadas

Os tokens de subdomínio não serão emitidos para origens na lista de sufixos públicos. Por exemplo, não é possível registrar uma origem como https://appspot.com ou https://github.io, embora seja possível registrar-se para domínios dessa origem, como https://example.appspot.com ou https://example.github.io.

O token ainda é válido

Os tokens são válidos por seis semanas após serem criados. Além disso, você deve enviar feedback para para estender a data de Válido até. O Guia de testes de origem para desenvolvedores Web explica como garantir o token é válido para um teste de origem inteiro.

É possível verificar se há tokens ativos na página Meus registros dos testes de origem do Chrome:

Testes de origem do Chrome 
Página &quot;Meus registros&quot; mostrando a data de validade

O Chrome DevTools exibirá o status Success se o token ainda for válido:

Chrome DevTools 
de testes de origem no painel &quot;Aplicativo&quot;, destacando &quot;Status: sucesso&quot;.

Se o token tiver expirado, o DevTools vai mostrar o status Expired e seu A página Meus registros vai mostrar a seção Tokens expirados.

Testes de origem do Chrome 
Minha página &quot;Registros&quot; mostrando tokens expirados.

O teste de origem não terminou

É possível conferir a data de término de um teste de origem na página de registro:

Testes de origem do Chrome
página para conjuntos primários e SameParty com detalhes de teste disponível destacados.

Para os testes que terminaram, o DevTools vai mostrar algo assim:

Chrome DevTools 
informações de testes de origem no painel &quot;Application&quot; mostrando &quot;ValidTokenNotProvided&quot; e &quot;Status Expirado&quot;

Você vai receber e-mails automáticos quando o feedback for necessário ou um token estiver prestes a expirar. não quando o teste terminar.

O teste de origem está disponível para o usuário atual

Alguns testes de origem não estão disponíveis para determinados usuários, mesmo que um token válido seja fornecido.

Se um teste não estiver disponível para o usuário atual, o Chrome DevTools exibirá um aviso TrialNotAllowed:

Informações sobre os testes de origem do Chrome DevTools no painel &quot;Application&quot; mostrando o aviso TrialNotAllowed.

Serão fornecidas informações sobre restrições de uso e disponibilidade para cada teste de origem.

Como acontece com qualquer recurso de plataforma da Web, é necessário usar a detecção de recursos para confirmar se um recurso de teste de origem tem suporte antes de ser usado.

As restrições de uso do teste de origem não foram excedidas

Por padrão, um recurso de teste de origem será ativado em qualquer página que tenha um token válido para o teste.

No entanto, exceto em casos raros, o uso do teste de origem é limitado a 0,5% de todos os carregamentos de página do Chrome. O recurso de teste de origem será desativado se o uso total por todos os usuários do Chrome exceder esse valor. O DevTools vai mostrar o status do token como desativado.

Não há limites de uso para testes de descontinuação, porque eles não introduzem novos recursos e, portanto, não representam o risco de tomar uma proporção da Web depende de um recurso em teste.

Alguns testes também oferecem uma opção para limitar o uso, o que significa que os recursos do teste de origem serão desativada para alguns usuários. Essa opção é disponibilizada na página de registro de uma origem. que oferece:

Testes de origem do Chrome 
página de registro mostrando as restrições de uso.

Se você notar que o acesso dos usuários a um recurso de teste de origem está abaixo do esperado, verifique se o "Limite padrão" é selecionada.

Os iframes fornecem seus próprios tokens

Para permitir o acesso a um recurso de teste de origem, um iframe precisa fornecer um token em uma metatag, uma tag HTTP ou de maneira programática. Os iframes não herdam acesso aos recursos ativados para páginas que os contêm.

ot-iframe.glitch.me demonstra o acesso a um recurso de teste de origem de um iframe. ot-iframe-3p.glitch.me fornece várias exemplos de iframe de origem cruzada.

As políticas de permissões estão configuradas corretamente

Alguns recursos do teste de origem podem ser afetados por um Permissions-Policy (anteriormente conhecido como cabeçalho Feature-Policy). É possível verificar isso no Intenção de fazer experimentos para o recurso de teste ou na documentação do desenvolvedor para o recurso em web.dev ou developer.chrome.com/blog.

Confira se o recurso que você está tentando acessar não está bloqueado por uma Permissions-Policy diretiva. Você pode verificar os cabeçalhos de resposta no painel Network do Chrome DevTools e visualizar os lista completa de recursos permitidos no painel Application.

Chrome DevTools 
  Painel do aplicativo mostrando o recurso &quot;Política de permissões permitida&quot;.

E quanto aos workers?

Os recursos dos testes de origem podem ser disponibilizados para service workers, workers compartilhados e trabalhadores No entanto, a única maneira de permitir o acesso para service workers e workers compartilhados é fornecer um token em um cabeçalho Origin-Trial.

Os workers dedicados herdam o acesso aos recursos ativados pelo documento pai.

O token é fornecido antes de o recurso ser acessado

Verifique se um token de teste de origem foi fornecido antes de acessar o recurso de teste. Por exemplo, se uma página fornece um token via JavaScript, verifique se o código fornece o token é executado antes do código que tenta acessar o recurso de teste.

Demonstrações de testes de origem

Saiba mais