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

Índice:

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

Vídeo: O que é um agente do usuário do navegador?

Vídeo: O que é um agente do usuário do navegador?
Vídeo: VEIGH - Clickbait ft. Niink (Clipe Oficial) - YouTube 2024, Maio
Anonim
Seu navegador envia seu agente de usuário para todos os sites aos quais você se conecta. Já escrevemos sobre como alterar o agente do usuário do seu navegador, mas o que exatamente é um agente do usuário?
Seu navegador envia seu agente de usuário para todos os sites aos quais você se conecta. Já escrevemos sobre como alterar o agente do usuário do seu navegador, mas o que exatamente é um agente do usuário?

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 do usuário é uma maneira de um navegador dizer "Oi, sou o Mozilla Firefox no Windows" ou "Oi, 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 próprio navegador é o Firefox 12.
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 próprio navegador é o Firefox 12.

Agora, vamos dar uma olhada no agente do usuário do Internet Explorer 9, que é:

Mozilla/5.0 (compatible; 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.
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 analisar também o agente do usuário do Google Chrome:

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

O enredo engrossa: o Chrome está fingindo ser o Mozilla e o Safari. Para entender por quê, precisamos examinar o histórico de agentes de usuários e navegadores.
O enredo engrossa: o Chrome está fingindo ser o Mozilla e o Safari. Para entender por quê, precisamos 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 veio (mais tarde renomeado 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.

Por fim, o Internet Explorer da Microsoft surgiu e também suportou frames. No entanto, o IE não recebeu páginas da web com frames, porque os servidores da web apenas enviaram esses 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 dos navegadores mais antigos. O KHTML - originalmente desenvolvido para o Konquerer na área de trabalho do KDE do Linux - adicionou as palavras "como o Gecko", para que elas também criassem páginas modernas 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. Dessa forma, os desenvolvedores de navegadores continuavam adicionando palavras aos seus agentes de usuário ao longo do tempo.
Eventualmente, alguns servidores procuraram a palavra Gecko - o mecanismo de renderização do Firefox - e serviram aos navegadores Gecko páginas diferentes dos navegadores mais antigos. O KHTML - originalmente desenvolvido para o Konquerer na área de trabalho do KDE do Linux - adicionou as palavras "como o Gecko", para que elas também criassem páginas modernas 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. Dessa forma, os desenvolvedores de navegadores continuavam adicionando palavras aos seus agentes de usuário ao longo do tempo.

Os servidores da web não se importam com 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 de usuários 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.
  • Coletando estatísticas mostrando os navegadores e sistemas operacionais em uso por seus usuários. Se você já viu estatísticas de compartilhamento de mercado do navegador, é 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 (+https://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 pelas strings de agente do usuário.

Image
Image

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 a string do agente do usuário de um navegador móvel e você verá as versões móveis das páginas da web na sua área de trabalho.

Recomendado: