User-Agent Client Hints: uma substituição para o User-Agent ou uma nova fonte de dados

User-Agent Client Hints: uma substituição para o User-Agent ou uma nova fonte de dados
Markus_automation
Markus_automation

Expert in data parsing and automation

Cada solicitação HTTP contém um conjunto de cabeçalhos que transmitem informações sobre o cliente para o servidor. Um desses cabeçalhos é o User-Agent. Historicamente, era uma longa sequência contendo o nome do navegador, versão, sistema operacional e até o modelo do dispositivo. Os desenvolvedores usavam essa sequência para servir diferentes versões de um site para diferentes navegadores.

Client Hints são uma extensão HTTP que permite ao navegador fornecer dicas sobre si mesmo ao servidor apenas mediante solicitação explícita. Em vez de enviar passivamente todos os dados na sequência User-Agent, o navegador espera até que o servidor retorne um cabeçalho Accept-CH listando os cabeçalhos necessários. Só depois disso é que ele adiciona esses cabeçalhos às solicitações subsequentes.

Atualmente, navegadores usados por mais de 75% dos usuários da Internet suportam Client Hints. Na prática, isso afeta diretamente como analisadores, sistemas antifraude e impressão digital funcionam hoje, porque abordagens mais antigas para analisar User-Agent estão se tornando menos confiáveis. O tratamento adequado de UA-CH torna possível obter os mesmos dados, mantendo maior precisão e controle ao desenvolver analisadores e lógica de detecção do usuário. Levar UA-CH em consideração também é importante para impressão digital, já que falsificar um único UA sem considerar UA-CH pode causar inconsistências.

Neste artigo, analisamos como o protocolo UA-CH funciona e compartilhamos dicas práticas.

Cada solicitação HTTP contém um conjunto de cabeçalhos que transmitem informações sobre o cliente para o servidor. Um desses cabeçalhos é o User-Agent. Historicamente, era uma longa sequência contendo o nome do navegador, versão, sistema operacional e até o modelo do dispositivo. Os desenvolvedores usavam essa sequência para servir diferentes versões de um site para diferentes navegadores.

Client Hints são uma extensão HTTP que permite ao navegador fornecer dicas sobre si mesmo ao servidor apenas mediante solicitação explícita. Em vez de enviar passivamente todos os dados na sequência User-Agent, o navegador espera até que o servidor retorne um cabeçalho Accept-CH listando os cabeçalhos necessários. Só depois disso é que ele adiciona esses cabeçalhos às solicitações subsequentes.

Atualmente, navegadores usados por mais de 75% dos usuários da Internet suportam Client Hints. Na prática, isso afeta diretamente como analisadores, sistemas antifraude e impressão digital funcionam hoje, porque abordagens mais antigas para analisar User-Agent estão se tornando menos confiáveis. O tratamento adequado de UA-CH torna possível obter os mesmos dados, mantendo maior precisão e controle ao desenvolver analisadores e lógica de detecção do usuário. Levar UA-CH em consideração também é importante para impressão digital, já que falsificar um único UA sem considerar UA-CH pode causar inconsistências.

Neste artigo, analisamos como o protocolo UA-CH funciona e compartilhamos dicas práticas.

Índice

Dicas do Cliente e Dicas do Cliente User-Agent

Embora o mecanismo de Dicas do Cliente tenha surgido em 2013, ele foi usado para otimizar a entrega de conteúdo e não se preocupava com a identificação do navegador. Apenas com a introdução das Dicas do Cliente User-Agent é que passou a ser considerado uma alternativa ao User-Agent padrão.

A abordagem de Dicas do Cliente é implementada em navegadores baseados no Chromium: o servidor solicita dicas e o navegador decide o que retornar. Isso significa que, por padrão, o navegador não envia dados extras e fornece apenas as informações explicitamente solicitadas pelo servidor. O exemplo mais simples é que os desenvolvedores podem evitar a análise complexa da string User-Agent e, em vez disso, usar cabeçalhos simples, sem depender de expressões regulares.

User-Agent

Com o tempo, o User-Agent acumulou detalhes e soluções alternativas legadas como Mozilla/5.0 (esta entrada específica existe desde a década de 1990). Isso levou a:

  • Complexidade de análise. Como o formato do User-Agent não é padronizado, a análise da string requer expressões regulares, que nem sempre são confiáveis. Strings de User-Agent difíceis de ler tornam-se uma fonte de erros e problemas de compatibilidade.

  • Vazamento de dados de privacidade. O User-Agent transmite uma grande quantidade de informações e é enviado com cada solicitação. Esses detalhes permitem o rastreamento do usuário: a versão exata do navegador, modelo do dispositivo e arquitetura são usados por rastreadores para impressão digital.

Como pode ver, havia uma clara necessidade de substituir o User-Agent por um novo mecanismo que fosse estruturado e controlado pelo servidor, ao mesmo tempo em que preservava a compatibilidade e melhorava a privacidade.

Além disso, usaremos o termo entropia. No contexto de UA-CH, refere-se ao grau de exclusividade das informações transmitidas. Quanto maior a entropia de um conjunto de parâmetros, maior a chance de que o navegador tenha uma impressão digital única, ajudando, assim, os sistemas antifraude a reconhecê-lo entre muitos outros perfis.

Dicas do Cliente User-Agent (UA-CH) são um conjunto especializado de dicas do cliente que transmitem características do navegador e do dispositivo. Em vez de uma única string UA, o navegador envia um conjunto de cabeçalhos estruturados com o prefixo Sec-CH-UA-*, incluindo:

  • Sec-CH-UA — uma lista de marcas de navegadores e suas versões.

  • Sec-CH-UA-Mobile ?0 ou ?1 — indica se o navegador atual é considerado móvel.

  • Sec-CH-UA-Platform — o nome do sistema operacional (Windows, Android, macOS).

  • Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Model, Sec-CH-UA-Full-Version-List — dicas de alta entropia com a versão exata do SO, arquitetura e modelo do dispositivo. Elas podem revelar mais informações únicas e, portanto, são enviadas apenas mediante solicitação explícita do servidor.

Algumas dicas são consideradas de baixa entropia: são enviadas imediatamente e não fornecem informações únicas (marca do navegador, plataforma, indicador móvel).

User-Agent Client Hints (UA-CH)

Dicas de alta entropia (versão exata do SO, modelo do dispositivo, arquitetura e bits) são enviadas pelo navegador apenas após uma solicitação explícita de Accept-CH, pois fornecem dados mais únicos. Dessa forma, o UA-CH permite transmitir as mesmas informações, e até informações adicionais em comparação com o User-Agent, de forma mais consciente e controlada pelo servidor em termos de privacidade. Dito isso, o “controle” é um tanto exagerado, porque tecnicamente o UA-CH pode transmitir muito mais informações do que o UA sozinho, e nada impede que um servidor solicite todas elas por meio de solicitações adicionais. Do ponto de vista de manipulação de dados, o UA-CH é mais conveniente e estruturado do que uma cadeia longa, mas preocupações com a privacidade ainda permanecem.

Como funciona a troca de Dicas do Cliente

Na prática, o ciclo de vida do UA-CH é assim:

  1. A primeira solicitação

Na primeira solicitação, o navegador adiciona dicas de baixa entropia aos cabeçalhos por padrão:

Sec-CH-UA: "Google Chrome";v="137", "Chromium";v="137", "Not/A)Brand";v="24"
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Platform: "Windows"

Este é o conjunto básico de dados sobre a marca do navegador e sistema operacional.

  1. Resposta do servidor

Em sua resposta, o servidor pode especificar um cabeçalho Accept-CH listando as dicas adicionais de que precisa. Por exemplo:

Accept-CH: Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Model

Este é um comando para solicitar a versão do SO, arquitetura e modelo. O navegador então armazena em cache esse requisito e, em solicitações subsequentes para o mesmo domínio, adiciona esses cabeçalhos.

  1. Solicitações subsequentes

A solicitação seguinte já terá a seguinte aparência:

Sec-CH-UA-Platform-Version: "10.0"
Sec-CH-UA-Arch: "x86"
Sec-CH-UA-Model: ""

No final, o servidor recebe apenas informações gerais na primeira solicitação, e tudo o mais é adicionado nas navegações subsequentes após a solicitação Accept-CH.

Para que CDNs e proxies armazenem corretamente em cache diferentes versões de conteúdo, o servidor deve também adicionar Vary: Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch. Isso é necessário, por exemplo, se o site fornecer diferentes versões de JavaScript para ARM e x86.

E quanto à API de JavaScript?

Além dos cabeçalhos HTTP, as dicas UA-CH também estão disponíveis no JavaScript do navegador. Em navegadores baseados no Chromium, existe o objeto navigator.userAgentData, que fornece imediatamente dados de baixa entropia:

const brands = navigator.userAgentData?.brands;  // [{brand: 'Chromium', version: '137'}, ...]
const mobile = navigator.userAgentData?.mobile;  // true/false
const platform = navigator.userAgentData?.platform;  // "Windows"
User-Agent Client Hints

Para obter campos detalhados (de alta entropia), é invocado um promise — um objeto especial que descreve como trabalhar com os dados:

navigator.userAgentData.getHighEntropyValues([
  'architecture','bitness','model','platformVersion','fullVersionList','wow64'
]).then(ua => {
  console.log(ua.architecture);     // "x86"
  console.log(ua.bitness);          // "64"
  console.log(ua.platformVersion);  // "10.0"
  console.log(ua.model);            // device model or empty
  console.log(ua.fullVersionList);  // array of full versions
});
User-Agent Client Hints

É importante notar que essa API é suportada apenas em navegadores Chromium (não está disponível no Safari ou Firefox), então o código deve incluir uma opção de fallback para o clássico navigator.userAgent, pelo menos no futuro próximo. No lado do servidor, é também importante verificar a presença dos cabeçalhos Sec-CH-UA-*, porque sem eles será necessário confiar na análise do antigo User-Agent.

User-Agent Client Hints

User-Agent vs UA-CH

Vamos analisar as principais diferenças entre o clássico User-Agent e a nova abordagem de Dicas do Cliente:

Recurso

User‑Agent

UA‑CH (Dicas do Cliente)

Formato

uma longa string

um conjunto de cabeçalhos estruturados

Transmissão

sempre enviado com cada solicitação

apenas os campos solicitados pelo servidor são enviados

Expansibilidade

difícil de expandir, qualquer novo parâmetro pode quebrar os analisadores

flexível, novas dicas podem ser adicionadas sob demanda

Análise no lado do servidor

requer expressões regulares

cabeçalhos são lidos diretamente

Suporte ao navegador

todos os navegadores

navegadores baseados em Chromium (Chrome 89+, Edge, Opera)

Precisão do primeiro carregamento

informações completas imediatamente

apenas dicas básicas no início, detalhes depois

Controle do servidor

nenhum

o servidor decide o que solicitar

Risco de Impressão Digital

alto

reduzido, mas não totalmente eliminado

  • Formato: UA é uma longa string; UA-CH é um conjunto de cabeçalhos HTTP estruturados (com o prefixo Sec-CH-UA-*).

  • Transmissão: UA é enviado com cada solicitação; UA-CH envia apenas o que o servidor solicita explicitamente. O próprio navegador decide quais campos adicionar quando necessário.

  • Extensibilidade: o UA clássico é difícil de expandir (qualquer novo parâmetro pode quebrar os analisadores); UA-CH é um protocolo mais flexível—novas dicas podem ser adicionadas sem quebrar as existentes, já que o servidor as solicita explicitamente.

  • Análise: a string UA deve ser dividida e analisada manualmente (usando expressões regulares); UA-CH são lidos diretamente dos cabeçalhos, o que é mais simples e confiável.

  • Suporte: UA é compreendido por todos os navegadores; UA-CH são implementadas por padrão em navegadores baseados no Chromium (Chrome 89+, Edge, Opera, Brave, Vivaldi e outros no mesmo mecanismo), mas não são suportadas por padrão pelo Safari e Firefox.

  • Precisão do primeiro carregamento: o UA clássico fornece informações completas imediatamente; UA-CH fornecem apenas dicas básicas na primeira solicitação, com detalhes disponíveis somente após uma solicitação no servidor (isso é importante ao selecionar versões de conteúdo).

  • Controle do servidor: o UA não permite que o servidor escolha quais dados são enviados—tudo é sempre transmitido; com o UA-CH, o próprio servidor decide em Accept-CH quais campos precisa.

  • Risco de impressão digital: UA-CH expõe menos informações únicas para rastreadores, mas isso não elimina outros métodos de exclusividade do usuário (idioma, fuso horário, Canvas/WebGL, etc.). UA-CH apenas reduz a quantidade de dados divulgados na fase inicial, mas não resolve completamente o problema da impressão digital.

Em resumo, UA-CH permite coletar as informações necessárias de maneira mais deliberada e consciente em termos de privacidade, simplificando o desenvolvimento e aumentando a flexibilidade. No entanto, a transição claramente levará tempo. Parece que a abordagem híbrida estará presente por um tempo: onde UA-CH estiverem disponíveis, serão utilizadas, e em todos os outros lugares, o antigo User-Agent continuará a ser analisado.

Recomendações práticas

  1. Não solicite tudo de uma vez. Se você especificar todas as dicas em Accept-CH, começará a se assemelhar à impressão digital. Solicite apenas o que realmente precisa. Por exemplo, imagens adaptativas beneficiam de Sec-CH-Viewport-Width, Sec-CH-DPR e Sec-CH-Width; adaptação de interface usa Sec-CH-UA-Mobile e Sec-CH-UA-Platform; otimização de tráfego usa Sec-CH-Save-Data, Sec-CH-RTT e Sec-CH-ECT. Evite sondagens desnecessárias, como solicitar todas as dicas de dispositivo e memória de uma só vez, pois isso pode acionar sistemas de proteção.

  2. Não se esqueça do cache. Se você variar o conteúdo com base nas Dicas do Cliente, sempre inclua Vary para esses cabeçalhos. Por exemplo, se você diferenciar conteúdo por Sec-CH-UA-Mobile e Sec-CH-Viewport-Width, a resposta deve incluir Vary: Sec-CH-UA-Mobile, Sec-CH-Viewport-Width. Caso contrário, um CDN ou proxy pode armazenar a resposta em cache sem levar em conta as dicas necessárias e fornecer uma versão incorreta.

  3. Evite mudanças frequentes. O navegador armazena em cache o Accept-CH. Não solicite dicas diferentes em cada página, pois isso aumenta a sobrecarga dos cabeçalhos.

  4. Fallback é obrigatório. O UA-CH ainda não cobre todo o mercado. Por padrão, é melhor ler Sec-CH-UA-* ou navigator.userAgentData, e se eles não estiverem disponíveis, recorrer à análise do clássico User-Agent. Não confie no UA-CH como fonte obrigatória.

Conclusões

As Dicas do Cliente User-Agent não são apenas outro cabeçalho, mas uma tentativa de repensar completamente o modelo de string única desatualizado. Com o UA-CH, os dados do cliente são transmitidos de forma estruturada e sob demanda, o que:

  • simplifica o trabalho do desenvolvedor;

  • cria oportunidades para o desenvolvimento futuro da indústria.

O principal benefício do UA-CH para desenvolvedores de analisadores e usuários de navegadores antidetecção hoje é o equilíbrio entre as informações necessárias e a facilidade de uso.

Dicas do Cliente e Dicas do Cliente User-Agent

Embora o mecanismo de Dicas do Cliente tenha surgido em 2013, ele foi usado para otimizar a entrega de conteúdo e não se preocupava com a identificação do navegador. Apenas com a introdução das Dicas do Cliente User-Agent é que passou a ser considerado uma alternativa ao User-Agent padrão.

A abordagem de Dicas do Cliente é implementada em navegadores baseados no Chromium: o servidor solicita dicas e o navegador decide o que retornar. Isso significa que, por padrão, o navegador não envia dados extras e fornece apenas as informações explicitamente solicitadas pelo servidor. O exemplo mais simples é que os desenvolvedores podem evitar a análise complexa da string User-Agent e, em vez disso, usar cabeçalhos simples, sem depender de expressões regulares.

User-Agent

Com o tempo, o User-Agent acumulou detalhes e soluções alternativas legadas como Mozilla/5.0 (esta entrada específica existe desde a década de 1990). Isso levou a:

  • Complexidade de análise. Como o formato do User-Agent não é padronizado, a análise da string requer expressões regulares, que nem sempre são confiáveis. Strings de User-Agent difíceis de ler tornam-se uma fonte de erros e problemas de compatibilidade.

  • Vazamento de dados de privacidade. O User-Agent transmite uma grande quantidade de informações e é enviado com cada solicitação. Esses detalhes permitem o rastreamento do usuário: a versão exata do navegador, modelo do dispositivo e arquitetura são usados por rastreadores para impressão digital.

Como pode ver, havia uma clara necessidade de substituir o User-Agent por um novo mecanismo que fosse estruturado e controlado pelo servidor, ao mesmo tempo em que preservava a compatibilidade e melhorava a privacidade.

Além disso, usaremos o termo entropia. No contexto de UA-CH, refere-se ao grau de exclusividade das informações transmitidas. Quanto maior a entropia de um conjunto de parâmetros, maior a chance de que o navegador tenha uma impressão digital única, ajudando, assim, os sistemas antifraude a reconhecê-lo entre muitos outros perfis.

Dicas do Cliente User-Agent (UA-CH) são um conjunto especializado de dicas do cliente que transmitem características do navegador e do dispositivo. Em vez de uma única string UA, o navegador envia um conjunto de cabeçalhos estruturados com o prefixo Sec-CH-UA-*, incluindo:

  • Sec-CH-UA — uma lista de marcas de navegadores e suas versões.

  • Sec-CH-UA-Mobile ?0 ou ?1 — indica se o navegador atual é considerado móvel.

  • Sec-CH-UA-Platform — o nome do sistema operacional (Windows, Android, macOS).

  • Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Model, Sec-CH-UA-Full-Version-List — dicas de alta entropia com a versão exata do SO, arquitetura e modelo do dispositivo. Elas podem revelar mais informações únicas e, portanto, são enviadas apenas mediante solicitação explícita do servidor.

Algumas dicas são consideradas de baixa entropia: são enviadas imediatamente e não fornecem informações únicas (marca do navegador, plataforma, indicador móvel).

User-Agent Client Hints (UA-CH)

Dicas de alta entropia (versão exata do SO, modelo do dispositivo, arquitetura e bits) são enviadas pelo navegador apenas após uma solicitação explícita de Accept-CH, pois fornecem dados mais únicos. Dessa forma, o UA-CH permite transmitir as mesmas informações, e até informações adicionais em comparação com o User-Agent, de forma mais consciente e controlada pelo servidor em termos de privacidade. Dito isso, o “controle” é um tanto exagerado, porque tecnicamente o UA-CH pode transmitir muito mais informações do que o UA sozinho, e nada impede que um servidor solicite todas elas por meio de solicitações adicionais. Do ponto de vista de manipulação de dados, o UA-CH é mais conveniente e estruturado do que uma cadeia longa, mas preocupações com a privacidade ainda permanecem.

Como funciona a troca de Dicas do Cliente

Na prática, o ciclo de vida do UA-CH é assim:

  1. A primeira solicitação

Na primeira solicitação, o navegador adiciona dicas de baixa entropia aos cabeçalhos por padrão:

Sec-CH-UA: "Google Chrome";v="137", "Chromium";v="137", "Not/A)Brand";v="24"
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Platform: "Windows"

Este é o conjunto básico de dados sobre a marca do navegador e sistema operacional.

  1. Resposta do servidor

Em sua resposta, o servidor pode especificar um cabeçalho Accept-CH listando as dicas adicionais de que precisa. Por exemplo:

Accept-CH: Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Model

Este é um comando para solicitar a versão do SO, arquitetura e modelo. O navegador então armazena em cache esse requisito e, em solicitações subsequentes para o mesmo domínio, adiciona esses cabeçalhos.

  1. Solicitações subsequentes

A solicitação seguinte já terá a seguinte aparência:

Sec-CH-UA-Platform-Version: "10.0"
Sec-CH-UA-Arch: "x86"
Sec-CH-UA-Model: ""

No final, o servidor recebe apenas informações gerais na primeira solicitação, e tudo o mais é adicionado nas navegações subsequentes após a solicitação Accept-CH.

Para que CDNs e proxies armazenem corretamente em cache diferentes versões de conteúdo, o servidor deve também adicionar Vary: Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch. Isso é necessário, por exemplo, se o site fornecer diferentes versões de JavaScript para ARM e x86.

E quanto à API de JavaScript?

Além dos cabeçalhos HTTP, as dicas UA-CH também estão disponíveis no JavaScript do navegador. Em navegadores baseados no Chromium, existe o objeto navigator.userAgentData, que fornece imediatamente dados de baixa entropia:

const brands = navigator.userAgentData?.brands;  // [{brand: 'Chromium', version: '137'}, ...]
const mobile = navigator.userAgentData?.mobile;  // true/false
const platform = navigator.userAgentData?.platform;  // "Windows"
User-Agent Client Hints

Para obter campos detalhados (de alta entropia), é invocado um promise — um objeto especial que descreve como trabalhar com os dados:

navigator.userAgentData.getHighEntropyValues([
  'architecture','bitness','model','platformVersion','fullVersionList','wow64'
]).then(ua => {
  console.log(ua.architecture);     // "x86"
  console.log(ua.bitness);          // "64"
  console.log(ua.platformVersion);  // "10.0"
  console.log(ua.model);            // device model or empty
  console.log(ua.fullVersionList);  // array of full versions
});
User-Agent Client Hints

É importante notar que essa API é suportada apenas em navegadores Chromium (não está disponível no Safari ou Firefox), então o código deve incluir uma opção de fallback para o clássico navigator.userAgent, pelo menos no futuro próximo. No lado do servidor, é também importante verificar a presença dos cabeçalhos Sec-CH-UA-*, porque sem eles será necessário confiar na análise do antigo User-Agent.

User-Agent Client Hints

User-Agent vs UA-CH

Vamos analisar as principais diferenças entre o clássico User-Agent e a nova abordagem de Dicas do Cliente:

Recurso

User‑Agent

UA‑CH (Dicas do Cliente)

Formato

uma longa string

um conjunto de cabeçalhos estruturados

Transmissão

sempre enviado com cada solicitação

apenas os campos solicitados pelo servidor são enviados

Expansibilidade

difícil de expandir, qualquer novo parâmetro pode quebrar os analisadores

flexível, novas dicas podem ser adicionadas sob demanda

Análise no lado do servidor

requer expressões regulares

cabeçalhos são lidos diretamente

Suporte ao navegador

todos os navegadores

navegadores baseados em Chromium (Chrome 89+, Edge, Opera)

Precisão do primeiro carregamento

informações completas imediatamente

apenas dicas básicas no início, detalhes depois

Controle do servidor

nenhum

o servidor decide o que solicitar

Risco de Impressão Digital

alto

reduzido, mas não totalmente eliminado

  • Formato: UA é uma longa string; UA-CH é um conjunto de cabeçalhos HTTP estruturados (com o prefixo Sec-CH-UA-*).

  • Transmissão: UA é enviado com cada solicitação; UA-CH envia apenas o que o servidor solicita explicitamente. O próprio navegador decide quais campos adicionar quando necessário.

  • Extensibilidade: o UA clássico é difícil de expandir (qualquer novo parâmetro pode quebrar os analisadores); UA-CH é um protocolo mais flexível—novas dicas podem ser adicionadas sem quebrar as existentes, já que o servidor as solicita explicitamente.

  • Análise: a string UA deve ser dividida e analisada manualmente (usando expressões regulares); UA-CH são lidos diretamente dos cabeçalhos, o que é mais simples e confiável.

  • Suporte: UA é compreendido por todos os navegadores; UA-CH são implementadas por padrão em navegadores baseados no Chromium (Chrome 89+, Edge, Opera, Brave, Vivaldi e outros no mesmo mecanismo), mas não são suportadas por padrão pelo Safari e Firefox.

  • Precisão do primeiro carregamento: o UA clássico fornece informações completas imediatamente; UA-CH fornecem apenas dicas básicas na primeira solicitação, com detalhes disponíveis somente após uma solicitação no servidor (isso é importante ao selecionar versões de conteúdo).

  • Controle do servidor: o UA não permite que o servidor escolha quais dados são enviados—tudo é sempre transmitido; com o UA-CH, o próprio servidor decide em Accept-CH quais campos precisa.

  • Risco de impressão digital: UA-CH expõe menos informações únicas para rastreadores, mas isso não elimina outros métodos de exclusividade do usuário (idioma, fuso horário, Canvas/WebGL, etc.). UA-CH apenas reduz a quantidade de dados divulgados na fase inicial, mas não resolve completamente o problema da impressão digital.

Em resumo, UA-CH permite coletar as informações necessárias de maneira mais deliberada e consciente em termos de privacidade, simplificando o desenvolvimento e aumentando a flexibilidade. No entanto, a transição claramente levará tempo. Parece que a abordagem híbrida estará presente por um tempo: onde UA-CH estiverem disponíveis, serão utilizadas, e em todos os outros lugares, o antigo User-Agent continuará a ser analisado.

Recomendações práticas

  1. Não solicite tudo de uma vez. Se você especificar todas as dicas em Accept-CH, começará a se assemelhar à impressão digital. Solicite apenas o que realmente precisa. Por exemplo, imagens adaptativas beneficiam de Sec-CH-Viewport-Width, Sec-CH-DPR e Sec-CH-Width; adaptação de interface usa Sec-CH-UA-Mobile e Sec-CH-UA-Platform; otimização de tráfego usa Sec-CH-Save-Data, Sec-CH-RTT e Sec-CH-ECT. Evite sondagens desnecessárias, como solicitar todas as dicas de dispositivo e memória de uma só vez, pois isso pode acionar sistemas de proteção.

  2. Não se esqueça do cache. Se você variar o conteúdo com base nas Dicas do Cliente, sempre inclua Vary para esses cabeçalhos. Por exemplo, se você diferenciar conteúdo por Sec-CH-UA-Mobile e Sec-CH-Viewport-Width, a resposta deve incluir Vary: Sec-CH-UA-Mobile, Sec-CH-Viewport-Width. Caso contrário, um CDN ou proxy pode armazenar a resposta em cache sem levar em conta as dicas necessárias e fornecer uma versão incorreta.

  3. Evite mudanças frequentes. O navegador armazena em cache o Accept-CH. Não solicite dicas diferentes em cada página, pois isso aumenta a sobrecarga dos cabeçalhos.

  4. Fallback é obrigatório. O UA-CH ainda não cobre todo o mercado. Por padrão, é melhor ler Sec-CH-UA-* ou navigator.userAgentData, e se eles não estiverem disponíveis, recorrer à análise do clássico User-Agent. Não confie no UA-CH como fonte obrigatória.

Conclusões

As Dicas do Cliente User-Agent não são apenas outro cabeçalho, mas uma tentativa de repensar completamente o modelo de string única desatualizado. Com o UA-CH, os dados do cliente são transmitidos de forma estruturada e sob demanda, o que:

  • simplifica o trabalho do desenvolvedor;

  • cria oportunidades para o desenvolvimento futuro da indústria.

O principal benefício do UA-CH para desenvolvedores de analisadores e usuários de navegadores antidetecção hoje é o equilíbrio entre as informações necessárias e a facilidade de uso.

Mantenha-se atualizado com as últimas notícias do Octo Browser

Ao clicar no botão, você concorda com a nossa Política de Privacidade.

Mantenha-se atualizado com as últimas notícias do Octo Browser

Ao clicar no botão, você concorda com a nossa Política de Privacidade.

Mantenha-se atualizado com as últimas notícias do Octo Browser

Ao clicar no botão, você concorda com a nossa Política de Privacidade.

Junte-se ao Octo Browser agora mesmo

Ou entre em contato com a equipe de suporte no chat para tirar dúvidas a qualquer momento.

Junte-se ao Octo Browser agora mesmo

Ou entre em contato com a equipe de suporte no chat para tirar dúvidas a qualquer momento.

Junte-se ao Octo Browser agora mesmo

Ou entre em contato com a equipe de suporte no chat para tirar dúvidas a qualquer momento.

©

2026

Octo Browser

©

2026

Octo Browser

©

2026

Octo Browser