User-Agent

O cabeçalho de requisição User-Agent é uma cadeia de caracteres característica que permite servidores e pares de rede identificar a aplicação, sistema operacional, fornecedor, e/ou versão do agente de usuário requisitante.

Aviso: Por favor leia Detectando o navegador usando o agente de usuário (Browser detection using the user agent) (en-US) para por quê servir diferentes páginas Web ou serviços para diferentes navegadores é geralmente uma má ideia.

Tipo de cabeçalho Request header
Forbidden header name não

Sintaxe

User-Agent: <product> / <product-version> <comment>

Formato comum para navegadores web:

User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>

Diretivas

<product>

Um identificador do produto - seu nome ou codinome de desenvolvimento.

<product-version>

Número da versão do produto.

<comment>

Zero ou mais comentários contendo mais detalhes; informação de subproduto, por exemplo.

Firefox UA string

Para mais cadeias de caracteres de agente de usuário do Firefox e Gecko, veja a referência para cadeias de caracteres de agente de usuário do Firefox (Firefox user agent string reference) (en-US). A cadeia de caracteres UA do Firefox é quebrada em 4 componentes:

Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion
  1. Mozilla/5.0 é o token geral que diz que o navegador é compatível com Mozilla. Por razões históricas, quase todo navegador envia isso hoje.
  2. platform descreve a plataforma nativa que navegador está executando (Windows, Mac, Linux, Android, etc.), e se é um telefone celular. Telefones Firefox OS (en-US) simplesmente dizem Mobile — a web é a plataforma. Note que platform pode consistir de múltiplos tokens separador por ";" (ponto e vírgula). Veja abaixo para mais detalhes e exemplos.
  3. rv:geckoversion indica a versão de release do Gecko (como a "17.0"). Em navegadores recentes, geckoversion é o mesmo que firefoxversion.
  4. Gecko/geckotrail indica que o navegador é baseado no Gecko. (No Desktop, geckotrail é sempre a cadeia de caracteres fixa 20100101.)
  5. Firefox/firefoxversion indica que o navegador é o Firefox, e provém a versão (como a "17.0").

Exemplos

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0
Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0

Chrome UA string

A cadeia de caracteres do agente de usuário do Chrome (ou baseados em Chromium/Blink) é similar ao do Firefox. Para compatibilidade, ele adiciona cadeias de caracteres como KHTML, like Gecko e Safari.

Exemplos

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Opera UA string

O navegador Opera também é baseado no Blink, o motivo pelo qual se parecem muito, mas adiciona "OPR/<version>".

Exemplos

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 OPR/38.0.2220.41

Mais antigo, versões do Opera baseados no Presto usavam:

Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00
Opera/9.60 (Windows NT 6.0; U; en) Presto/2.1.1

Safari UA string

Neste exemplo, a cadeia de caracteres de agente de usuários é a versão de móvel do Safari. Ela contém a palavra "Mobile".

Exemplos

Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1

Internet Explorer UA string

Exemplos

Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)

Crawler e bot UA strings

Exemplos

Googlebot/2.1 (+http://www.google.com/bot.html)

Especificações

Especificação Título
RFC 7231, sessão 5.5.3: User-Agent Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
RFC 2616, sessão 14.43: User-Agent Hypertext Transfer Protocol — HTTP/1.1

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também