User Agent

De Seobility Wiki
Saltar a: navegación, buscar

¿Qué es un user agent o agente de usuario?

Un user agent o agente de usuario, también conocido como UA por sus siglas en inglés, es un software que se comunica con los servidores de una red. Básicamente, el agente de usuario actúa como mediador entre el cliente y el servidor web.

Se encarga de tramitar las instrucciones recibidas por parte de la aplicación cliente, las transfiere a un servidor y recibe los datos solicitados. Un ejemplo de ello sería un navegador que recupera una página web de un servidor en Internet y la muestra al usuario. Para conseguirlo, el navegador envía al servidor información como la versión del navegador, los plugins instalados y otros datos, con los que el servidor puede evaluar las capacidades del agente de usuario y entregarle los datos apropiados.

El user agent transmite la información a través del encabezado HTTP

User agent
Imagen: User agent - Autor: Seobility - Licencia: CC BY-SA 4.0


La información que identifica al agente de usuario se transfiere al servidor web a través de las cabeceras de solicitud HTTP. Cada cabecera HTTP contiene una cadena característica que los servidores emplean para identificar el tipo de aplicación, el sistema operativo, el proveedor de software o la versión de software del agente de usuario solicitante.

Es importante aclarar que la estructura y el contenido de esta información no están estandarizados, siendo que cada desarrolladora o desarrollador puede insertar y enviar su propia información.

Por ejemplo, la sintaxis básica para un navegador web Firefox es:

Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion

Considerando que:

Mozilla/5.0 es un token general que indica que el navegador web es compatible con Mozilla. Sin embargo, los navegadores actuales solo utilizan este token por razones históricas, ya que no tiene gran importancia.

platform describe la plataforma nativa en la que opera el navegador web, por ejemplo, si es Windows, Mac, Linux o Android o si es un dispositivo móvil o no. En el caso de Firefox OS para móviles simplemente se incluye la palabra "Mobile".

rv:geckoversion indica la versión de Gecko, a saber, el motor de renderización HTML que los navegadores web utilizan para mostrar una página web. En la actualidad, para los navegadores, geckoversion es lo mismo que firefoxversion.

Gecko/geckotrail indica que el navegador está basado en Gecko. En las desktops, el geckotrail tiene la cadena fija "20100101".

Firefox/firefoxversion indica y especifica la versión del navegador Firefox que se está utilizando.

Un ejemplo de navegador Firefox en una desktop que funcione con Windows tendría el siguiente aspecto:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0

Ahora bien, toda la información proporcionada por el user agent puede ser modificada o falsificada. Este sería el caso, por ejemplo de algunos navegadores web para móviles que pueden cambiar entre el modo móvil o el de escritorio para acceder a sitios web que solo admiten el ingreso con desktops.

De hecho, el primer Internet Explorer de Microsoft se identificaba como el navegador Netscape para poder acceder a páginas web diseñadas exclusivamente para esa plataforma, puesto que, en aquella época, era el navegador dominante.

Tipos de user agent

Navegadores como Mozilla Firefox, Google Chrome, Safari y Opera son algunos ejemplos de agentes de usuario. Sin embargo, otras aplicaciones también pueden actuar como agents. Algunos ejemplos son:

  • Rastreadores o arañas web: Googlebot, Yahoo! Slurp, MSN bot.
  • Consolas de videojuegos: PlayStation, Wii, PlayStation Portable y Bunjalloo (el navegador de la Nintendo DS).
  • Sistemas operativos heredados: AmigaVoyager.
  • Comprobadores de enlaces: por ejemplo, W3C-Checklink.
  • Herramientas de SEO/rastreadores on page: SeobilityBot.
  • Aplicaciones web: Flash Player, Adobe Acrobat Reader, lectores de feeds, lectores de pantalla, validadores, reproductores multimedia, portales de streaming.

No todos los user agents pueden ser controlados o instruidos por alguna persona, tal y como ocurre con los indexadores web de los buscadores que visitan los sitios web de manera automática.

Importancia de los user agents

Una vez que el agente de usuario se identifica ante el servidor web, comienza un proceso denominado como “negociación de contenidos” o el “content negotiation”. Este proceso es un mecanismo definido en HTTP que permite ofrecer diferentes versiones de un documento u otros recursos utilizando la misma URL.

De esta forma, los navegadores pueden especificar qué versión de la página web se adapta mejor a sus capacidades por medio de la información contenida en el user agent, lo que a su vez les permite solicitar el recurso más adecuado a sus requerimientos.

Una aplicación clásica de este mecanismo es proporcionar una imagen en formato GIF y PNG, y entregar la versión GIF a los agentes de usuario que no pueden mostrar imágenes PNG (como las versiones antiguas de MS Internet Explorer).

Del mismo modo, también permite renderizar diferentes hojas de estilo (CSS), JavaScript o la versión móvil de una página web en función de las capacidades del navegador. Otros ejemplos de uso serían entregar el documento solicitado en el idioma correcto, cuando el user agent transmite la configuración de idioma, o permitir que un lector de PDF acceda a documentos PDF y un reproductor multimedia a vídeos.

El proceso por el cual una aplicación recibe contenidos adaptados a su agente de usuario se denomina agent name delivery. En SEO este proceso se puede utilizar para presentar un contenido diferente a los user agents y otro tipo de contenido a los robots de los buscadores. Sin embargo, esto se considera como una práctica de black hat SEO conocida como cloaking, por la cual las personas ven una página web optimizada para humanos, mientras que los rastreadores acceden a un contenido y a una estructura diferente.

Dicho contenido, en su mayoría, es simple y está optimizado para obtener un alto posicionamiento en las SERPs. Sin embargo, los buscadores reconocen esta técnica de spam y para evitarla suelen actuar como navegadores.

Ampliar conocimientos

Contenidos relacionados