Um user agent é o que identifica um navegador e seu sistema operacional para o servidor web – o software intermediário entre um usuário e a web. Todo navegador contém um campo de user agent exclusivo em seu cabeçalho HTTP que o diferencia de outros navegadores quando se conecta à web.
Podemos entender melhor o nome “user agent” se voltarmos um pouco no tempo, para quando a internet estava evoluindo. Quando a internet era um sistema baseado em texto, os usuários precisavam de comandos para navegar e enviar mensagens uns aos outros. A diferença é que agora os usuários dependem de navegadores para fazer todo o trabalho pesado. Tudo o que eles têm que fazer é apontar e clicar para que o navegador funcione como um ‘agente’ que transforma ações em comandos. Quando um navegador (ou um dispositivo comparável) carrega um site, ele se apresenta como um agente enquanto busca as informações solicitadas.
O cabeçalho de solicitação do user agent é enviado com cada solicitação que o navegador faz a um site. O user agent é usado para permitir que servidores e pares de rede descubram o sistema operacional, aplicativo, fornecedor e / ou versão do user agent solicitante. Há muitas informações sobre o dispositivo e a rede em que está, juntamente com o que é solicitado. É o dado destinado aos desenvolvedores da web. Isso lhes permite personalizar a experiência do usuário de acordo com o user agent que carrega a página da web.
Não há uma maneira típica ou comum de escrever uma string de user agent, e é por isso que elas variam de navegador para navegador, com muitos deles incluindo toneladas de informações. Muitos sites até se dedicaram a esclarecer as informações que as strings do user agent estão tentando transmitir. Caso contrário, o servidor web precisa dessas informações para apresentar páginas da web diferentes a navegadores e sistemas operacionais variados. É assim que as páginas móveis são enviadas para dispositivos móveis, com ajustes para atender a versões e atualizações. A participação de mercado dos navegadores são baseadas principalmente em dados de usuários coletados.