O que é User Agent
Entenda como essa pequeno pedaço de texto é responsável por melhorar a internet e para muitas outras finalidades
User Agent (Agente de usuário em português) é uma string de um cabeçalho de requisição que permite que servidores identifiquem qual foi o navegador, aplicativo, sistema operacional e outras informações importantes de quem fez uma requisição ao servidor. Sendo uma string, isso significa que essas informações são caracteres de texto comum.
Para que serve o User Agent?
O User Agent é utilizado pelo servidor para enviar uma resposta correta ao solicitante. Por exemplo se você utiliza o seu navegador Google Chrome no seu computador com sistema operacional Windows 10, ao acessar um site esta informação é passada através do User Agent junto com a versão do seu navegador. Desta forma o servidor pode enviar uma página corretamente adaptada para o seu navegador de forma que ela funcione de maneira correta. Este é um exemplo de um User Agent de um navegador Google Chrome no sistema Windows 7 de 64 bits:
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
A mesma coisa acontece caso você faça uma solicitação através de um navegador para celular, onde o servidor poderá identificar que você fez uma solicitação de página através de um aparelho móvel enviando uma página em formato correto para celulares, especificamente para o seu modelo de celular. Este é um exemplo de um User Agent de um navegador Google Chrome em um celular com sistema Android da Motorola modelo Moto G7 Power:
Mozilla/5.0 (Linux; Android 10; moto g(7) power) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.210 Mobile Safari/537.36
Aplicativos e bots também usam User Agent
Aplicativos e bots também possuem seus próprios User Agent para serem corretamente identificados pelos servidores. Por exemplo, ao enviar um link pelo WhatsApp o aplicativo envia seu próprio User Agent ao servidor onde o servidor pode modificar a página para fornecer informações para o aplicativo do WhatsApp.
Os famosos bots rastreadores da web também possuem seu próprio User Agent. Por exemplo, quando o Google visitou um site para fazer a indexação de uma página ele usa um User Agent chamado Googlebot que permite ao servidor identificar que foi o Google que passou por aquela página. A mesma coisa acontece com outros rastreadores como Bing, Yandex e outros.
No caso da maioria dos aplicativos o User Agent é enviado junto com a versão do aplicativo, e no caso dos bots é enviado o nome do bot junto com a versão desse rastreador.
Lista de User Agents comuns
Os agentes de aplicativos como WhatsApp, Facebook, e debates como o Google, Bing e outros normalmente sempre são iguais ou mudam pouca coisa. O que geralmente é modificado nesses agentes é apenas o número da versão. com base nisso criamos uma tabela a seguir com os principais User Agent:
Nome | User Agent |
---|---|
facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php) | |
WhatsApp iOS (iPhone) | WhatsApp/2.21.60.16 i |
WhatsApp Android | WhatsApp/2.21.6.17 A |
Googlebot Desktop | Googlebot/2.1 (+http://www.google.com/bot.html) |
Googlebot Mobile | DoCoMo/2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html) |
Googlebot de Imagens | Googlebot-Image/1.0 |
Googlebot do Google News | Googlebot-News |
Googlebot para videos | Googlebot-Video/1.0 |
Pinterest/0.2 (+https://www.pinterest.com/bot.html) | |
Telegram | TelegramBot (like TwitterBot) |
O User Agent pode ser facilmente mudado
Como o User Agent é enviado pelo nosso próprio dispositivo, e pode ser mudado de aplicação para aplicação, fica muito facil de ser manipulado, deixando em nosso poder fazer uma solicitação ao servidor com o User Agent que quisermos.
Alguns navegadores para computador com foco no desenvolvimento de sites possuem a opção de emular alguns User Agent pré definidos, ou personalizados pelo usuário com a intenção de fazer testes de como uma página da WEB será entregue para cada tipo de dispositivo. O Google Chrome por exemplo possuem diversos User Agent pré definidos para fazermos testes de resposta do servidor emulando celulares de marca diferentes:
Usando programação do lado servidor também é possível solicitar a outro servidor ou ao próprio servidor uma resposta usando um User Agent falso. Veja a seguir um código PHP que solicita uma página da internet com um User Agent falso:
$userAgent = ‘WhatsApp/2.20.112 A’;
$url = ‘https://site.com/’;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
$resposta = curl_exec($ch);
A variável $userAgent no código acima poderia ser facilmente trocada por qualquer um dos User Agents mostrados na tabela de User Agents comuns.
Como o User Agent pode ser usado para melhorar o SEO e a experiência do usuário
O User Agent poder ser usado de forma inteligente para melhorar o SEO e a experiencia do usuário. Visto que é possivel identificar o User Agent de um dispositivo quando ele acessa o nosso servidor, podemos com base nessa string saber se o usuário do site está acessando através de um celular ou computador, e com base nisso oferecer uma página mais leve para dispositivos móveis, levando em conta que esses costumam ter menos poder de processamento do que um computador.
Identificando o sistema operacional do dispositivo do usuário, também podemos oferecer uma experiência personalizada para quem acessa o site, oferecendo conteúdo mais relevante para o dispositivo em questão.
Digamos que você tenha um site de downloads de aplicativos e jogos, e um visitante acessa uma parte de downloads para Windows através do seus celular com sistema Android. Neste caso usando o user agent como base, podemos oferecer que o usuário acesse a parte do site que contenha aplicativos e jogos para sistema Android.
Como o User Agent é usado para enganar usuários com mensagens falsas
Como toda vez que usamos o navegador da internet o User Agent é enviado para o servidor do site que estamos acessando, algumas empresas ou pessoas usam isso para enganar o usuário com falsas mensagens de alerta, dizendo que o celular foi infectado e que é preciso baixar algum programa para consertar isso. E usando o User Agent, eles podem dizer exatamente qual a marca e modelo do seu celular para tornar a falsa mensagem de vírus ainda mais real. Já falamos sobre isso na matéria “Seu celular foi infectado? é verdade?”
Como ver seu User Agent Atual
Existem muitas formas de saber o nosso user agent, mas aqui na Seletronic já mostramos uma forma muito fácil, que consiste apenas digitar “my user agent” na pesquisa do Google. O resultado será como o da imagem a seguir: