Pagina inicial » como » O que é um agente de usuário do navegador?

    O que é um agente de usuário do navegador?

    Seu navegador envia seu agente de usuário para todos os sites aos quais você se conecta. Nós escrevemos sobre como alterar o agente do usuário do seu navegador antes - mas o que exatamente é um agente do usuário, de qualquer maneira?

    Um agente do usuário é uma “string” - ou seja, uma linha de texto - que identifica o navegador e o sistema operacional para o servidor da web. Isso parece simples, mas os agentes do usuário se tornaram uma bagunça ao longo do tempo.

    O básico

    Quando o seu navegador se conecta a um site, ele inclui um campo User-Agent em seu cabeçalho HTTP. O conteúdo do campo do agente do usuário varia de navegador para navegador. Cada navegador tem seu próprio agente de usuário distinto. Essencialmente, um agente de usuário é uma maneira de um navegador dizer "Oi, eu sou o Mozilla Firefox no Windows" ou "Oi, eu sou o Safari em um iPhone" para um servidor da web..

    O servidor da web pode usar essas informações para exibir diferentes páginas da web em diferentes navegadores da web e diferentes sistemas operacionais. Por exemplo, um site pode enviar páginas para dispositivos móveis a navegadores móveis, páginas modernas para navegadores modernos e uma mensagem "atualize seu navegador" para o Internet Explorer 6.

    Examinando Agentes do Usuário

    Por exemplo, aqui está o agente do usuário do Firefox no Windows 7:

    Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12,0

    Esse agente do usuário informa bastante o servidor da Web: O sistema operacional é o Windows 7 (nome de código do Windows NT 6.1), é uma versão de 64 bits do Windows (WOW64) e o navegador em si é o Firefox 12.

    Agora vamos dar uma olhada no user agent do Internet Explorer 9, que é:

    Mozilla / 5.0 (compatível; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)

    A sequência do agente do usuário identifica o navegador como IE 9 com o mecanismo de renderização Trident 5. No entanto, você pode encontrar algo confuso - o IE se identifica como Mozilla.

    Nós vamos voltar a isso em um minuto. Primeiro, vamos examinar o agente do usuário do Google Chrome também:

    Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, como o Gecko) Chrome / 19.0.1084.52 Safari / 536.5

    O enredo engrossa: o Chrome está fingindo ser o Mozilla e o Safari. Para entender o porquê, teremos que examinar o histórico de agentes de usuários e navegadores.

    A bagunça de cordas do agente do usuário

    O Mosaic foi um dos primeiros navegadores. Sua string do agente do usuário era NCSA_Mosaic / 2.0. Mais tarde, o Mozilla apareceu (posteriormente renomeado para Netscape), e seu agente de usuário era o Mozilla / 1.0. O Mozilla era um navegador mais avançado que o Mosaic - em particular, suportava frames. Os servidores da Web verificaram se o agente do usuário continha a palavra Mozilla e enviavam páginas contendo quadros para navegadores Mozilla. Para outros navegadores, os servidores da web enviavam as páginas antigas sem quadros.

    Eventualmente, o Internet Explorer da Microsoft apareceu e também suportou frames. No entanto, o IE não recebeu páginas da Web com quadros, porque os servidores da Web apenas os enviaram para os navegadores da 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 as páginas modernas. Outros navegadores que vieram depois fizeram a mesma coisa.

    Eventualmente, alguns servidores procuraram a palavra Gecko - o mecanismo de renderização do Firefox - e serviram aos navegadores Gecko páginas diferentes de navegadores mais antigos. O KHTML - originalmente desenvolvido para o Konquerer na área de trabalho KDE do Linux - adicionou as palavras “like Gecko” para que eles também pudessem obter 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 propósitos de compatibilidade. Desta forma, os desenvolvedores de navegadores continuaram adicionando palavras aos seus agentes de usuário ao longo do tempo.

    Os servidores da Web realmente não se importam com qual é a string exata do agente do usuário - eles apenas verificam se ela contém uma palavra específica.

    Usos

    Os servidores da Web usam agentes do usuário para diversas finalidades, incluindo:

    • Servindo páginas da web diferentes para diferentes navegadores da web. Isso pode ser usado para o bem - por exemplo, para servir páginas da Web mais simples para navegadores mais antigos - ou mal - por exemplo, para exibir uma mensagem “Esta página da Web deve ser exibida no Internet Explorer”.
    • Exibição de conteúdo diferente em sistemas operacionais diferentes - por exemplo, exibindo uma página enxuta em dispositivos móveis.
    • Coleta de estatísticas mostrando os navegadores e sistemas operacionais em uso por seus usuários. Se você já viu estatísticas de compartilhamento de mercado de navegadores, é assim que elas são adquiridas.

    Os robôs de rastreamento da Web usam agentes do usuário também. 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 dar um tratamento especial aos bots - por exemplo, permitindo que eles passem por telas de registro obrigatórias. (Sim, isso significa que às vezes você pode ignorar as telas de registro definindo seu agente do usuário para o Googlebot.)

    Os servidores da Web também podem dar ordens a bots específicos (ou a todos os bots) usando o arquivo robots.txt. Por exemplo, um servidor da Web poderia impedir que um bot específico desaparecesse ou informar a outro bot para indexar apenas algumas áreas do site. No arquivo robots.txt, os bots são identificados por suas sequências de agente do usuário.


    Todos os principais navegadores contêm maneiras de definir agentes de usuário personalizados, para que você possa ver o que os servidores da Web enviam para diferentes navegadores. Por exemplo, defina o navegador da área de trabalho como uma string do agente do usuário do navegador móvel e você verá as versões móveis das páginas da web na sua área de trabalho.