FreeToGenerate.com

Quase todos os campos que um analisador de user agent imprime são constantes que o navegador manda a toda a gente. Este diz-lhe quais.

111

O que a cadeia diz

Navegador
Chrome
Real

O token de produto que nomeia o navegador é a única parte da cadeia ainda presa ao que está de facto a correr.

Versão
140.0.0.0
Congelado

O Chromium envia os números de compilação e de correção como 0.0.0 desde o Chrome 101, portanto aqui só a versão maior é um facto.

Motor
Blink
Real

Deduzido do navegador e não lido da cadeia, porque os tokens de motor que lá estão são históricos.

Plataforma
Windows
Real

A família do sistema operativo continua a ser declarada com honestidade por todos os navegadores.

Versão do sistema
10.0
Ambíguo

O Windows 11 continua a ser NT 10.0, e ambos os motores têm esta linha fixa no código — o comentário do Gecko diz que é para a Microsoft não poder mudar um valor sensível à compatibilidade sem o seu veto. Nenhuma cadeia User-Agent distingue o Windows 10 do Windows 11.

Arquitetura
x86-64
Congelado

O Chromium reduzido envia Win64; x64 a partir de qualquer máquina Windows, incluindo uma com ARM.

Formato
Desktop
Real

O bit de telemóvel sobreviveu à redução de propósito, porque os sites precisam dele para escolher a disposição.

Quem a cadeia diz ser

Cada um destes está ali porque algum site um dia o verificou, e retirá-lo agora partiria esse site.

  • Mozilla/5.0não é este navegador

    Nomeia o Netscape, que nenhum navegador é desde 1998.

  • AppleWebKit/537.36não é este navegador

    Nomeia o WebKit, o motor de que o Chromium se separou em 2013.

  • KHTML, like Geckonão é este navegador

    Nomeia o KHTML e o Gecko, dois motores que nem o Chromium nem o WebKit usam.

  • Safari/537.36não é este navegador

    Nomeia o Safari, que este navegador não é.

  • Chrome/140.0.0.0verdade

Também disponível em: English · Español · Français · العربية

Analisador de user agent

Cada campo rotulado conforme o quanto reflete da máquina real: real, congelado, um mínimo, ambíguo, ou um token que nomeia um navegador que não é este.

O que é um analisador de user agent?

Cada pedido que o seu navegador faz leva um cabeçalho User-Agent: uma linha de texto que nomeia o navegador, a sua versão e a máquina onde corre. Um analisador de user agent desmonta-a e diz-lhe o que lá está. Painéis de estatísticas, registos do servidor e páginas de download usam todos um.

O problema é que essa linha deixou de ser verdadeira. Os navegadores passaram os últimos anos a substituir as partes concretas por constantes — o mesmo valor enviado de qualquer máquina — porque uma cadeia detalhada é uma excelente maneira de reconhecer uma pessoa de site em site. O que sobra continua a parecer uma descrição do seu computador e em grande parte não é.

Por isso este analisador faz o trabalho do costume e depois faz a única coisa que os outros não fazem: rotula cada campo conforme o quanto reflete da máquina real. Real quer dizer que veio do seu computador. Congelado quer dizer que o navegador manda esse valor exacto a toda a gente. Um mínimo quer dizer que a verdade é esse número ou maior. Ambíguo quer dizer que o valor é genuíno e mesmo assim não identifica aquilo que nomeia.

Como usar

  1. Cole uma cadeia User-Agent, ou use a sua. O botão preenche o que o seu navegador está a mandar neste momento. Cadeias de um registo do servidor, de uma exportação de estatísticas ou de um relatório de erro funcionam da mesma maneira.
  2. Leia o rótulo ao lado de cada campo, não só o valor. Cada linha traz uma frase a dizer porque é de fiar ou porque não é, de modo que vê num relance que partes de uma linha de registo vale a pena usar.
  3. Veja a lista de tokens em baixo. Mostra todos os navegadores e motores que a cadeia diz ser, e marca aquele que é mesmo verdade. Numa cadeia moderna do Chrome é um em cinco.

Dois navegadores congelam o mesmo por razões opostas

O Chrome reduziu o seu User-Agent de propósito, e a forma em que assentou não é um palpite: o motor constrói a cadeia a partir de uma lista fixa de valores de plataforma. São oito, cinco de computador, portanto para qualquer versão do Chrome existem exactamente cinco cadeias dessas no mundo. Os números de compilação e de correção são enviados como 0.0.0 desde o Chrome 101. A versão do Android é a constante 10 e o modelo do aparelho é a letra K, sozinha.

O Firefox congela a mesma linha do Windows — e o comentário do seu código dá uma razão completamente diferente. Fixa NT 10.0 para que a Microsoft não possa mudar um valor sensível à compatibilidade sem o Firefox concordar primeiro. Isso é um veto de compatibilidade, não uma medida de privacidade, e cai exactamente no valor a que o Chrome chegou pelo outro lado.

No Android os dois discordam mesmo, e esta é a parte que nenhum analisador mostra. O Chrome manda Android 10 de qualquer aparelho. O Firefox usa 10 como piso: abaixo de 10 declara 10, e de 10 para cima declara o número real, porque alguns sites empresariais recusam clientes com versões antigas. Assim, um Android 13 numa linha de registo é verdadeiro se foi o Firefox a mandá-lo e impossível se foi o Chrome, e Android 10 quer dizer no máximo 10 num navegador e não quer dizer nada no outro. O mesmo token, dois sentidos, e qual deles se aplica não se sabe olhando para o token.

O campo em que mais se acredita é o menos informativo de todos. Um Chromebook declara a compilação 14541.0.0, demasiado específica para parecer um marcador e idêntica em todos os Chromebooks do planeta.

Limites honestos

Esta ferramenta não consegue recuperar o que a cadeia não contém. Se colar um User-Agent moderno do Chrome, nenhum analisador do mundo — este incluído — lhe consegue dizer a versão do Windows, a do macOS, a do Android ou o aparelho. Não estão escondidas atrás de um pagamento nem de uma expressão regular mais esperta. Pura e simplesmente não estão na cadeia.

O caso do Windows é o que vale a pena reter, porque é onde todos os analisadores cometem o mesmo erro com toda a confiança. O Windows 11 continua a identificar-se como NT 10.0, portanto um analisador que imprime Windows 10 está a nomear um sistema operativo que não consegue distinguir do outro. Medido contra um analisador muito usado, todas as versões de sistema que ele declara a partir de uma cadeia congelada do Chromium são constantes: diz Windows 10, Mac OS 10.15.7 e Android 10, e declara um modelo de aparelho K. Não está errado de nenhuma maneira que pudesse evitar — declara o que a cadeia diz.

Um User-Agent é também declarado pelo próprio cliente, e sempre foi. Qualquer um pode mandar o que quiser: há extensões para o mudar, e o resultado de analisar uma cadeia inventada é uma leitura fiel de uma mentira. Trate o que sai de qualquer analisador como aquilo que o cliente disse, não como aquilo que o cliente é.

O substituto previsto, uma API que declara a mesma informação em pedaços estruturados, existe nos navegadores baseados em Chromium e em mais lado nenhum. O Firefox e o Safari recusaram-se ambos a implementá-la, e as posições públicas dos dois motores deixam escrito porquê. Portanto, para uma boa parte dos visitantes, a cadeia congelada não é um recurso herdado — é a única coisa que existe.

Porque é grátis

Porque não custa nada manter. A análise acontece no seu navegador; nada é enviado, nenhum servidor vê a cadeia e não há conta nenhuma pelo meio.

As regras saem do código dos dois motores que escrevem estas cadeias, não da documentação sobre eles, e os testes que as verificam estão guardados ao lado da ferramenta.