A redução de user agent é um esforço para reduzir as superfícies de impressão digital passiva, reduzindo as informações na string User-Agent (UA) apenas para a marca e a versão significativa do navegador, a distinção entre computador e dispositivo móvel e a plataforma em execução. Atualmente, a string UA é compartilhada em cada solicitação HTTP e exposta em JavaScript para todos os recursos carregados pelo navegador. Ele contém informações importantes sobre o navegador, a plataforma em que ele está sendo executado e os recursos dele. Os User-Agent Client Hints (UA-CH, na sigla em inglês) podem fornecer as mesmas informações que a string completa do UA, permitindo que os sites solicitem apenas as informações do UA necessárias.
A partir do Chrome 95 Beta, vamos abrir o teste de origem para a redução do user agent para permitir que os sites ativem o recebimento da string UA reduzida. Isso vai permitir que os sites descubram e corrijam problemas antes que o UA reduzido se torne o comportamento padrão no Chrome. A redução está prevista para começar no segundo trimestre de 2022. Se você quiser testar o teste de origem em 95 usuários Beta antes do lançamento para a população estável, ative e teste antes da data de lançamento do Chrome 95 (atualmente programado para 19 de outubro de 2021).
Confira abaixo uma visão geral do teste de origem e o que esperar. Como sempre, agradecemos feedback ou problemas durante o teste no repositório do GitHub da redução do UA.
O que é o User-Agent?
A string User-Agent (UA) é compartilhada em cada solicitação HTTP e exposta em JavaScript para todos os recursos carregados pelo navegador. No momento, ele contém informações importantes sobre o navegador e a plataforma em que está sendo executado.
Por que o User-Agent está sendo reduzido?
A redução do user agent é um esforço para reduzir as superfícies de impressão digital passiva no navegador Chrome, anunciada pela primeira vez em janeiro de 2020. Ao reduzir as informações na string do UA apenas para a marca e a versão significativa do navegador, a distinção entre computador e dispositivo móvel e a plataforma em execução, fica mais difícil identificar usuários individuais.
O que isso significa para os desenvolvedores da Web?
Os sites precisam se preparar para receber strings do UA reduzidas e considerar a participação no teste de origem (detalhado abaixo). Os valores reduzidos do user agent vão aparecer em:
- Cabeçalho da solicitação HTTP
User-Agent
- O getter
navigator.userAgent
do JavaScript - O getter
navigator.platform
do JavaScript - O getter
navigator.appVersion
do JavaScript
Para receber mais informações do cliente do que as compartilhadas pelo User-Agent reduzido, os sites vão precisar migrar para a nova API User-Agent Client Hints. Para mais detalhes sobre estratégias de migração, consulte Migrar para dicas de cliente do user agent.
Os planos de redução do User-Agent atualmente não incluem iOS e WebView. Portanto, essas plataformas vão continuar recebendo a string completa do user agent. O motivo principal é que essas plataformas ainda não implementaram as Dicas de cliente HTTP do user agent.
Como funciona o teste de origem?
Esse teste de origem é um pouco diferente do padrão. Os testes de origem padrão só podem controlar o comportamento na resposta. Por exemplo, controlar o acesso a uma API no Javascript da resposta. Neste teste, nosso objetivo é não apenas modificar a string UA fornecida nas APIs JavaScript, mas também modificar o cabeçalho User-Agent enviado na solicitação HTTP.
Para fazer isso, estamos definindo uma dica temporária do cliente, chamada
Sec-CH-UA-Reduced
, cuja presença em uma solicitação indica que o valor do cabeçalho User-Agent
contém a string UA reduzida. A sugestão de cliente Sec-CH-UA-Reduced
só será enviada (junto com a string reduzida do UA) se o token de teste de origem
for válido e a sugestão de cliente Sec-CH-UA-Reduced
não funcionar quando o teste de origem
expirar. Lembre-se de que a primeira solicitação de navegação ainda vai receber
a string User-Agent não reduzida, a menos que você defina o Critical-CH
header
.
As solicitações de subrecurso para a mesma origem vão enviar automaticamente a mesma string User-Agent da solicitação de nível superior enviada. As solicitações de subrecurso para origens de terceiros também vão enviar a mesma string User-Agent da solicitação de nível superior, incluindo a string UA reduzida se o token de teste de origem for válido, desde que a política de permissões permita.
Como participar do teste de origem da redução de user agent?
Para se inscrever no teste de origem e receber um token para seus domínios, acesse a página do teste de redução do user agent.
Atualize os cabeçalhos de resposta HTTP:
- Adicione
Origin-Trial: <ORIGIN TRIAL TOKEN>
ao cabeçalho de resposta HTTP, em que <ORIGIN TRIAL TOKEN
> contém o token que você recebeu ao se registrar para o teste de origem. - Adicione
Accept-CH: Sec-CH-UA-Reduced
ao cabeçalho de resposta HTTP. - A configuração de
Accept-CH
só fará com que a string User-Agent reduzida seja enviada em solicitações subsequentes à origem. Para reenviar a primeira solicitação de navegação com a string User-Agent reduzida, adicioneCritical-CH: Sec-CH-UA-Reduced
ao cabeçalho de resposta HTTP, além dos cabeçalhosAccept-CH
eOrigin-Trial
. - Observação: se os cabeçalhos de resposta contiverem um token
Origin-Trial
válido eAccept-CH: Sec-CH-UA-Reduced
, todas as solicitações de subrecurso (por exemplo, para imagens ou folhas de estilo) e subnavegação (por exemplo, iframes) vão enviar a string UA reduzida, mesmo que as origens dessas solicitações não estejam inscritas no teste de origem.
- Adicione
Carregue seu site no Chrome M95 (ou mais recente) e comece a receber a string UA reduzida.
Envie problemas ou feedback ao repositório do GitHub para a redução do UA.
Consulte https://uar-ot.glitch.me/ para conferir uma demonstração simples do teste de origem (junto com o código-fonte).
Como participar do teste de origem como uma incorporação de terceiros?
A partir do Chrome 96, as incorporações de terceiros (por exemplo, um iframe dentro de outro site) podem participar do teste de origem sem que o site de nível superior precise ser registrado.
Para se inscrever como um embed de terceiros:
- Acesse o Teste de redução de user agent e clique em Registrar.
- Ao criar o token, marque a caixa de seleção
Third-party matching
. - Para receber o cabeçalho User-Agent reduzido da incorporação de terceiros, atualize os cabeçalhos de resposta HTTP.
- Para receber a string User-Agent reduzida em APIs JavaScript, o token de teste precisa ser injetado pelo Javascript.
Alguns pontos importantes sobre a execução do teste de origem em incorporações de terceiros:
+ Critical-CH
não pode ser especificado para incorporações de terceiros. Portanto, a primeira
navegação não vai enviar a string UA reduzida, embora as solicitações de subrecurso
da incorporação de terceiros enviem a string UA reduzida.
+ Se o teste de origem for validado para a origem de uma incorporação de terceiros,
as solicitações subsequentes para a mesma origem em uma navegação de nível superior vão
enviar a string UA reduzida. Por esse motivo, recomendamos aumentar
a participação no teste de origem para solicitações de nível superior e
incorporadas.
+ Se o user agent tiver desativado cookies de terceiros, o teste de origem
não vai funcionar para o cabeçalho User-Agent
em solicitações de incorporação
de terceiros, embora as APIs do Javascript ainda recebam a string UA
reduzida.
Como posso validar se o teste de origem está funcionando?
Para validar se o teste de origem está funcionando, examine os cabeçalhos de solicitação e verifique o seguinte:
- O cabeçalho User-Agent contém a versão reduzida. Consulte esta lista de exemplos de strings reduzidas do UA.
Uma maneira fácil de saber é que a string da versão secundária do Chrome contém
0.0.0
. - O cabeçalho
Sec-CH-UA-Reduced
está definido como?1
.
Os cabeçalhos da resposta inicial que contêm o token de teste de origem devem ser semelhantes a este:

Os cabeçalhos de solicitação subsequentes que contêm a string UA reduzida devem ser parecidos com este:

Como faço para deixar de participar do teste de origem de redução de user agent?
A qualquer momento durante o teste, você pode parar de participar e receber a string completa do User-Agent. Para parar de participar:
- Envie um cabeçalho
Accept-CH
na resposta HTTP que não incluaSec-CH-UA-Reduced
. Observação:Accept-CH
com um valor vazio é uma maneira válida de fazer isso se o site não solicitar outras dicas do cliente. - Remova o cabeçalho
Origin-Trial
do teste de redução de user agent da sua resposta HTTP. - Se definido, remova
Sec-CH-UA-Reduced
do cabeçalhoCritical-CH
na resposta HTTP.
Qual é a duração do teste de origem?
O teste de origem da redução do UA vai durar pelo menos seis meses, o que corresponde a cerca de seis marcos do Chrome. O teste de origem vai aparecer no M95 e terminar no M101. Nesse ponto, o Chrome vai avaliar o feedback do teste de origem antes de enviar a string do user agent reduzida de forma faseada, de acordo com o plano de lançamento. Se um site precisar de mais tempo, ele poderá ativar um teste de origem de descontinuação subsequente, que permitirá o acesso à string UA completa por pelo menos mais seis meses. Publicaremos mais detalhes sobre o teste de descontinuação quando ele estiver pronto.
Como faço para compartilhar feedback sobre o teste de origem de redução de user agent?
Envie problemas ou feedback ao repositório do GitHub para a redução do UA.