Command Palette

Search for a command to run...

O que é uma string de agente do usuário e como lê-la

O que é uma string de agente do usuário e como lê-la

T
Toolz Team
|Aug 31, 2026|16 min ler
Prefira Toolz.dev no Google

Parte da coleção Ferramentas web

Analisador de agente do usuário

Cole uma string User-Agent e leia o navegador, o mecanismo de renderização, o sistema operacional, o tipo de dispositivo e a CPU que ele descreve, tudo em seu navegador.

Use o Analisador de agente do usuário

A primeira vez que tive que entender uma string User-Agent em massa foi durante um projeto de SEO em wpadminify. com, olhando para um log de acesso ao servidor tentando descobrir quanto do tráfego eram pessoas reais e quanto eram rastreadores Eu tinha uma coluna de strings que tudo começou com Mozilla/5.0, todos mencionaram Safari, e metade deles estavam mentindo sobre ser um navegador enquanto realmente era outro Lê-los a olho nu era sem esperança Esse é o trabalho que um analisador User-Agent faz, e depois de fazê-lo da maneira mais difícil muitas vezes EU construí um em Toolz.dev. Este é o guia para isso e para o cabeçalho surpreendentemente confuso por trás dele.

tl;dr: O Toolz analisador de agente de usuário pega uma string User-Agent e a divide em navegador, mecanismo de renderização, sistema operacional, tipo de dispositivo e arquitetura de CPU Ele aplica a ordem de detecção que o cabeçalho' s peculiaridades exigem, então Edge não é mal interpretado como Chrome e Safari móvel é lido a partir de seu token de versão real Ele também sinaliza bots conhecidos Tudo é executado no lado do cliente: sem upload, sem inscrição, seguro para linhas de log reais.

O que é uma string User-Agent?

Uma string User-Agent é o valor do User-Agent cabeçalho de solicitação que um navegador ou cliente HTTP envia com quase todas as solicitações O cabeçalho é definido em RFC 9110, a especificação HTTP Semantics, que a descreve como uma sequência de identificadores de produtos e comentários que permitem a um servidor identificar o software que faz a solicitação Na prática, ele nomeia o navegador, sua versão, o mecanismo de renderização, o sistema operacional e, muitas vezes, o dispositivo.

A intenção era razoável: dar aos servidores uma maneira de saber o que está se conectando para que eles possam adaptar respostas ou reunir estatísticas A realidade é que a string se tornou uma das peças menos confiáveis de dados auto-relatados na web, não porque seja maliciosa, mas porque duas décadas de hacks de compatibilidade colocaram token em camadas sobre token até que a leitura óbvia seja geralmente a errada.

Aqui está uma string moderna do Chrome no Windows:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36

Ele afirma ser Mozilla, menciona AppleWebKit, e termina com a palavra Safari Não é nenhuma dessas coisas; é Chrome Todo token antes Chrome/126 é um sedimento histórico. Um analisador existe precisamente porque você não pode confiar nos tokens que parecem mais confiáveis.

Por que analisar um agente do usuário é tão propenso a erros?

O cabeçalho cresceu por imitação Nas primeiras guerras de navegadores, os servidores verificavam o User-Agent para decidir qual versão de uma página enviar, e verificavam desajeitadamente, muitas vezes com uma simples correspondência de substring Um novo navegador que queria receber a página boa e moderna tinha que conter o token que o servidor estava procurando, então cada navegador copiou o vencedor anterior A Netscape se autodenominava Mozilla, então o Internet Explorer afirmava ser compatível com a Mozilla Quando os navegadores WebKit chegaram eles carregavam os tokens Mozilla e KHTML O Chrome bifurcou-se do WebKit e manteve tanto o AppleWebKit quanto o Safari para que os servidores de detecção de WebKit o tratassem bem O resultado é que uma única string pode conter honestamente os nomes de quatro linhas de navegador diferentes.

Isso cria armadilhas concretas para quem lê a corda:

  • Edge e Opera contêm Chrome. Microsoft Edge anexa Edg/126.0.0.0 e Opera anexa OPR/, mas ambos também carregam o máximo Chrome/126 token porque eles são baseados em Chromium Teste para Chrome primeiro e você rotulará cada usuário do Edge e Opera como Chrome.
  • Safari esconde sua versão real. Na área de trabalho e no iOS, o Safari relata sua versão voltada para o usuário em a Version/17.5 token, enquanto o Safari/604.1 token perto do final é o número de compilação do WebKit, não a versão do navegador Leia Safari/ como a versão e você obtém um número sem sentido.
  • O Chrome no iOS não é o mecanismo Chrome's. A Apple exige que todos os navegadores iOS usem o WebKit, portanto, o Chrome em um iPhone informa CriOS e executa o WebKit, não o Blink. O Firefox no iOS é FxiOS, também WebKit.
  • O Windows 11 não existe na string. A Microsoft nunca ultrapassou o token do kernel NT, então tanto o Windows 10 quanto o Windows 11 se reportam Windows NT 10.0. A string não consegue diferenciá-los.

Um analisador é uma pequena pilha de regras ordenadas que sabem sobre essas armadilhas Isso é realmente tudo, mas acertar a ordem é todo o jogo.

Como funciona o analisador de agente de usuário Toolz?

o analisador executa uma sequência de verificações cuja ordem codifica as armadilhas acima Ele procura os navegadores que incorporam outro navegador' s token primeiro Edge antes do Chrome, Opera antes do Chrome, Samsung Internet e UC Browser antes do Chrome, então o emprestado Chrome token nunca ganha por acidente Ele lê Safari de seu Version/ token em vez de seu Safari/ token de construção. Ele reconhece as variantes do iOS CriOS e FxiOS como Chrome e Firefox respectivamente, enquanto relatam corretamente seu mecanismo como WebKit.

Para o sistema operacional, ele mapeia o número do kernel do Windows NT para o nome de marketing Windows NT 6.1 torna-se Windows 7 e Windows NT 10.0 torna-se Windows 10 ou 11, declarado honestamente como um par porque a string genuinamente não pode distingui-los Ele restaura a forma pontilhada de versões iOS e macOS, que o cabeçalho escreve com sublinhados como 17_5, e reconhece Android, Chrome OS e Linux.

Para o dispositivo que classifica o pedido como desktop, móvel, tablet, ou bot. A regra tablet é o violino: um iPad é um tablet, um dispositivo Android sem o Mobile token é um tablet e qualquer coisa que corresponda Mobile, iPhone, ou Windows Phone é um telefone Onde a string expõe um modelo de dispositivo, como uma string de construção Android ou um nome de produto da Apple, o analisador o coloca em superfície.

Ele também sinaliza bots Este é o campo que EU alcancei para a maioria, porque quando você está lendo um log de acesso a única pergunta mais útil é quanto do tráfego é automatizado O analisador corresponde a um amplo conjunto de assinaturas que abrangem rastreadores de pesquisa, buscadores de visualização social e clientes de linha de comando.

O que um agente de usuário pode lhe dizer e o que não pode?

Vale a pena ser preciso sobre os limites, porque tratar a string como fato leva a más decisões.

Pergunta A UA pode responder? notas
Qual família de navegadores Geralmente sim Com ordem de detecção correta
Versão exata do navegador Geralmente sim Cada vez mais congelado ou reduzido
Nome do sistema operacional Geralmente sim O Windows 10 vs 11 é impossível
Tipo de dispositivo Aproximadamente Heurístico, não garantido
Modelo de dispositivo exato Às vezes Somente quando a string a incluir
Se o cliente é genuíno não Trivialmente falsificável
Tamanho ou capacidades do ecrã não Use detecção de recursos em vez disso

As duas últimas linhas são mais importantes Um User-Agent é auto-relatado e pode ser alterado em uma linha de código, definida por qualquer cliente HTTP, ou congelado pelo navegador para privacidade Um raspador pode anunciar-se como Chrome no Windows e não há nada na string para contradizê-lo Então o resultado analisado diz-lhe o que o cliente afirma ser, o que é útil para estatísticas e depuração, mas não é prova de nada Quando você precisa saber o que um navegador pode realmente fazer, feature-detect em JavaScript ao invés de inferir capacidades a partir do nome Este é o mesmo princípio por trás da escrita de código front-end resiliente que o Kit de ferramentas para desenvolvedores web roundup retorna repetidamente.

As strings do agente do usuário estão desaparecendo?

Não exatamente, mas eles estão sendo deliberadamente reduzidos Os navegadores Chromium têm congelado e aparado a string legada por alguns anos, limitando o nível de detalhe que ela expõe, especialmente os números de versão menores e algumas especificidades da plataforma A substituição é Dicas do cliente do agente do usuário, um mecanismo onde o servidor pede exatamente as informações do cliente que ele precisa Sec-CH-UA cabeçalhos de solicitação e o navigator.userAgentData API JavaScript, em vez de receber uma longa string que tem que analisar Dicas do cliente é também onde a distinção Windows 10 versus 11 finalmente se torna disponível, através de Sec-CH-UA-Platform-Version.

O resultado prático para os próximos anos é que ambos existem. O clássico User-Agent o cabeçalho ainda é fornecido em todas as solicitações de todos os navegadores e de todos os clientes que não são de navegador, e uma grande quantidade de ferramentas, análises e lógica do lado do servidor ainda o lê. Portanto, analisar a string continua sendo a maneira mais portátil de identificar um cliente, mesmo quando os dados mais ricos passam para Dicas do Cliente. Se você estiver construindo algo novo e quiser a versão da plataforma com precisão, leia Dicas do Cliente; se você estiver analisando um log existente ou suportando a mais ampla gama de clientes, analise a string.

Como uso o analisador?

O fluxo é deliberadamente simples Cole uma string User-Agent na caixa, ou clique em uma das amostras integradas para ver uma string representativa de desktop, celular ou bot. Para pegar a sua própria, abra o console do navegador e digite navigator.userAgent, então cole o resultado Conforme você digita, o navegador, o mecanismo, o sistema operacional, o tipo de dispositivo, a arquitetura da CPU e a atualização do sinalizador do bot estão ativos, sem nenhum botão para pressionar Quando você quiser o resultado em outro lugar, copie-o como uma tabela separada por guias que cola de forma limpa em uma planilha ou em um relatório de bug.

Como a coisa toda é executada em seu navegador, você pode colar linhas brutas de acesso-log ou strings de visitantes reais sem que nenhum deles saia de sua máquina Esse modelo do lado do cliente é deliberado e é o mesmo por trás de todas as ferramentas do site, explicado no ferramentas online de privacidade de dados guia. Para uma credencial você está depurando junto com uma solicitação, o gerador básico de autenticação e o Decodificador JWT siga a mesma abordagem sem upload.

Onde o analisador se encaixa com as outras ferramentas da web

O analisador de agente de usuário fica em um pequeno cluster de ferramentas de solicitação e resposta no site Quando você está inspecionando o tráfego para um domínio, o domínio pesquisa ferramenta responde quem possui e opera Quando uma solicitação carrega um token de portador que você precisa inspecionar, o Decodificador JWT lê as reivindicações dele Quando você está construindo uma solicitação autenticada em primeiro lugar, o gerador básico de autenticação constrói o Authorization cabeçalho. E quando você está trabalhando em como uma página se apresenta para os rastreadores, que leem suas páginas sob seus próprios Agentes de Usuário, o gerador de meta tags molda as tags que consomem.

Para qualquer pessoa que monte um conjunto pessoal destes, o Ferramentas de produtividade do desenvolve guia cobre como os utilitários baseados em navegador no site se encaixam em um dia de trabalho O ponto de mantê-los juntos é que a depuração de uma interação HTTP raramente envolve apenas uma dessas perguntas.

Um fluxo de trabalho prático: ler um registro de tráfego

Deixe-me fazer isso concreto com a tarefa que me iniciou por esta estrada Você exportou uma fatia do seu registro de acesso e você quer entendê-lo A abordagem ingênua é olhar para a coluna Usuário-Agente, que é exatamente onde as armadilhas mordem Um rastreador que se identifica educadamente como Googlebot é fácil, mas um raspador sem cabeça anunciando-se como uma compilação normal do Chrome parece idêntico a um visitante real até que você verifique os outros sinais.

O analisador ajuda de duas maneiras Primeiro, o sinalizador do bot captura os rastreadores honestos e os clientes de automação comuns imediatamente, para que você possa separar o tráfego óbvio da máquina do tráfego humano em uma passagem Segundo, a quebra correta do navegador e do SO do tráfego restante diz algo real sobre seu público: se ele distorce o celular, quais sistemas operacionais dominam, se um navegador antigo ainda importa o suficiente para testar No trabalho do WP Adminify, essa falha mudou quais navegadores priorizamos para testes e confirmou que um pedaço do que parecia ser tráfego orgânico era pré-visualização e monitoramento de bots em vez de leitores A análise das strings transformou uma parede de ruído em uma decisão.

A única disciplina a manter é aquela da seção de limites: o resultado analisado é uma afirmação, não uma prova Um raspador determinado forjará uma string convincente, e nenhum analisador pode captar isso apenas do User-Agent Combine a análise com padrões de solicitação, taxa e outros sinais quando as apostas forem altas. Para estatísticas e depuração cotidianas, porém, uma análise correta é exatamente o que você precisa, e fazê-lo manualmente é o erro.

O que os campos do mecanismo de renderização e da CPU me dizem?

Dois dos campos analisados recebem menos atenção do que o navegador e o SO, mas ambos são úteis O mecanismo de renderização é o componente que realmente transforma HTML e CSS em pixels, e é um melhor preditor de como uma página se comporta do que o nome do navegador Chrome, Edge, Opera, Brave, Samsung Internet e a maioria dos outros compartilham o mecanismo Blink, portanto, um bug de renderização que aparece em um geralmente aparece em todos eles; o Firefox usa o Gecko; e o Safari, juntamente com todos os navegadores no iOS, usa o WebKit Quando você está testando um bug de layout, agrupar seu tráfego por mecanismo em vez do nome do navegador informa quantos caminhos de renderização genuinamente distintos você deve testar, o que geralmente é apenas três.

O analisador deriva o motor dos tokens da plataforma em vez do rótulo do navegador, e é por isso que ele pode relatar o Blink para um navegador Chromium e WebKit para Safari, embora ambos descendam do mesmo token AppleWebKit Ele também captura os mecanismos mais antigos, Trident para Internet Explorer e EdgeHTML para Edge legado, que ainda aparecem nos logs corporativos.

O campo de arquitetura da CPU lê os tokens da plataforma para x86_64, Win64, arm64, e seus parentes, relatando se o cliente é uma máquina de 64 bits, 32 bits ou ARM É o campo para verificar quando você serve downloads específicos da plataforma e precisa saber qual construção um visitante pode executar, e é um sinal silencioso de quão moderno é o seu público & #39; s hardware.

Perguntas frequentes

O que é uma string User-Agent? Uma string User-Agent é o valor do cabeçalho HTTP User-Agent que um navegador ou cliente envia com cada solicitação É uma lista de tokens de produto nomeando o navegador, seu mecanismo de renderização, o sistema operacional e, muitas vezes, o dispositivo, definido na RFC 9110 Os servidores o leem para identificar o software que se conecta a eles.

Como encontro meu próprio User-Agent? Abra o seu navegador' s console do desenvolvedor e digite navigator.userAgent, em seguida, pressione Enter A string que ele imprime é exatamente o que seu navegador envia para os servidores Cole-o no analisador do agente do usuário para ver o navegador, sistema operacional e dispositivo para o qual ele decodifica.

Por que o agente de usuário do Chrome's contém a palavra Safari? Para compatibilidade com versões anteriores O Chrome bifurcou seu mecanismo do WebKit Apple' e os primeiros servidores verificaram o token Safari antes de servir páginas modernas, então o Chrome o manteve para evitar ser rebaixado. A mesma história é por que quase todos os navegadores ainda iniciam sua string com Mozilla/5.0.

Um agente de usuário pode informar o Windows 10 do Windows 11? Não. Ambos relatam o Windows NT 10.0 porque a Microsoft nunca incrementou o token do kernel NT para o Windows 11, portanto, a string por si só não consegue distinguir os dois. A maneira moderna de diferenciá-los são as dicas do cliente agente do usuário, especificamente o cabeçalho Sec-CH-UA-Platform-Version.

Um User-Agent é confiável para identificar um dispositivo? É uma dica útil, não prova Os agentes de usuário podem ser alterados em uma linha de código, definida por qualquer cliente HTTP, falsificada por raspadores ou congelada pelo navegador para privacidade Trate o resultado analisado como o que o cliente afirma ser e combine-o com outros sinais quando a precisão for importante.

Como o analisador detecta bots e rastreadores? Ele combina a string com uma ampla lista de assinaturas conhecidas, incluindo rastreadores de pesquisa como Googlebot e Bingbot, buscadores de visualização social e clientes de automação como curl, wget e Chrome sem cabeça Qualquer correspondência define o sinalizador do bot e classifica o dispositivo como um rastreador.

É seguro colar log de produção User-Agents aqui? Sim. toda a análise acontece no seu navegador com JavaScript, e a string nunca é enviada para nenhum servidor Você pode colar linhas de log de acesso bruto ou Agentes de Usuário de visitantes reais sem que eles saiam do seu dispositivo.

As strings User-Agent estão sendo descontinuadas? O cabeçalho está sendo congelado e reduzido, não removido Os navegadores Chromium agora cobrem os detalhes na string legada e expõem dados mais ricos por meio de dicas do cliente do agente do usuário. A string clássica ainda é fornecida em todas as solicitações, portanto, analisá-la continua sendo a maneira mais portátil de ler os detalhes do cliente.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!