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 with JavaScript enabled. Enable JavaScript to view data.

Veja também
-----------

* Detecção, histórico e checklist de User-Agent
* Referência para cadeias de caracteres de agente de usuário do Firefox (Firefox user agent string reference) (en-US)
* Detectando o navegador usando o agente de usuário (Browser detection using the user agent) (en-US)