23Jul
Seu navegador envia seu agente de usuário para cada site ao qual você se conecta. Nós escrevemos sobre como alterar o agente de usuário do seu navegador antes - mas o que exatamente é um agente de usuário, de qualquer maneira?
Um agente de usuário é uma "string" - ou seja, uma linha de texto - identificando o navegador e o sistema operacional para o servidor web. Isso parece simples, mas os agentes de usuários se tornaram uma bagunça ao longo do tempo.
O básico
Quando seu navegador se conecta a um site, ele inclui um campo User-Agent no seu cabeçalho HTTP.O conteúdo do campo do agente do usuário varia de navegador para navegador. Cada navegador possui seu próprio agente de usuário distinto. Essencialmente, um agente de usuário é uma maneira para um navegador dizer "Oi, eu sou Mozilla Firefox no Windows" ou "Olá, eu sou Safari em um iPhone" para um servidor web.
O servidor web pode usar essas informações para servir diferentes páginas da web para diferentes navegadores da Web e diferentes sistemas operacionais. Por exemplo, um site pode enviar páginas móveis para navegadores móveis, páginas modernas para navegadores modernos e uma mensagem "por favor atualize seu navegador" para o Internet Explorer 6.
Examinando agentes de usuário
Por exemplo, aqui está o agente de usuário do Firefox no Windows 7:
Mozilla / 5.0( Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0
Este agente do usuário informa bastante ao servidor web: o sistema operacional é o Windows 7( nome do código Windows NT 6.1), é um 64-bit versão do Windows( WOW64) e o navegador em si é Firefox 12.
Agora vamos dar uma olhada no agente de usuário do Internet Explorer 9, que é:
Mozilla / 5.0( compatível, MSIE 9.0; Windows NT 6.1; WOW64; Trident /5.0)
A seqüência do agente do usuário identifica o navegador como o IE 9 com o mecanismo de renderização Trident 5.No entanto, você pode detectar algo confuso - o IE se identifica como Mozilla.
Vamos voltar a isso em um minuto. Primeiro, vamos examinar o agente de usuário do Google Chrome, também:
Mozilla / 5.0( Windows NT 6.1; WOW64) AppleWebKit / 536.5( KHTML, como Gecko) Chrome / 19.0.1084.52 Safari / 536.5
O enredo espessa: o Chrome está fingindo ser ambosMozilla e Safari. Para entender por que, teremos que examinar o histórico dos agentes e navegadores do usuário.
O Mensageiro de Cordas do Agente de Usuário
Mosaic foi um dos primeiros navegadores. Sua seqüência de agente de usuário foi NCSA_Mosaic / 2.0.Mais tarde, a Mozilla apareceu( mais tarde renomeado o Netscape) e seu agente de usuário era o Mozilla / 1.0.O Mozilla era um navegador mais avançado do que o Mosaic - em particular, suportava quadros. Os servidores da Web verificaram se o agente do usuário continha a palavra Mozilla e as páginas enviadas contendo quadros para navegadores Mozilla. Para outros navegadores, os servidores web enviaram as páginas antigas sem quadros.
Eventualmente, o Internet Explorer da Microsoft veio e também suportou quadros. No entanto, o IE não recebeu páginas da web com quadros, porque os servidores da Web apenas enviaram esses para navegadores Mozilla. Para corrigir esse problema, a Microsoft adicionou a palavra Mozilla ao seu agente de usuário e lançou informações adicionais( a palavra "compatível" e uma referência ao IE.) Os servidores da Web ficaram felizes em ver a palavra Mozilla e enviaram o IE às páginas web modernas. Outros navegadores que vieram depois fizeram o mesmo.
Eventualmente, alguns servidores procuraram a palavra Gecko - mecanismo de renderização do Firefox - e serviram as páginas diferentes do navegador Gecko do que navegadores mais antigos. KHTML - desenvolvido originalmente para o Konquerer na área de trabalho KDE do Linux - adicionou as palavras "como Gecko" para que eles também obtenham as páginas modernas projetadas para o Gecko. O WebKit foi baseado no KHTML - quando foi desenvolvido, eles adicionaram a palavra WebKit e mantiveram a linha original "KHTML, como Gecko" para fins de compatibilidade. Desta forma, os desenvolvedores de navegador continuaram adicionando palavras aos seus agentes de usuário ao longo do tempo. Os servidores da Web
realmente não se importam com a string exata do agente do usuário - eles apenas verificam se ele contém uma palavra específica.
Usos Os servidores da Web
usam agentes de usuário para uma variedade de propósitos, incluindo:
- Servindo diferentes páginas da web para diferentes navegadores da web. Isso pode ser usado para o bem - por exemplo, para servir páginas mais simples para navegadores mais antigos - ou mal - por exemplo, para exibir uma mensagem "Esta página da Web deve ser vista no Internet Explorer".
- Exibindo conteúdo diferente para diferentes sistemas operacionais - por exemplo, exibindo uma página reduzida em dispositivos móveis.
- Recolher estatísticas que mostram os navegadores e sistemas operacionais em uso por seus usuários. Se você já viu as estatísticas do compartimento de mercado do navegador, é assim que eles são adquiridos.
Web-rwling bots também usam agentes de usuário. Por exemplo, o rastreador da web do Google se identifica como:
Googlebot / 2.1( + http: //www.google.com/ bot.html) Os servidores da Web
podem oferecer tratamento especial de bots - por exemplo, permitindo-os através de telas de registro obrigatório.(Sim, isso significa que às vezes pode ignorar as telas de registro definindo o seu agente de usuário no Googlebot.) Os servidores da Web
também podem dar ordens para bots específicos( ou todos os bots) usando o arquivo robots.txt. Por exemplo, um servidor web pode dizer um bot específico para ir embora, ou diga a outro botão que apenas indexe determinadas áreas do site. No arquivo robots.txt, os bots são identificados por suas strings de agente de usuário.
Todos os principais navegadores contêm maneiras de configurar agentes de usuário personalizados, para que você possa ver o que os servidores da Web enviam para diferentes navegadores. Por exemplo, configure o navegador da área de trabalho para uma string de agente de usuário de um navegador móvel e você verá as versões móveis de páginas da Web em sua área de trabalho.