Agente de usuario

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Un agente de usuario es una aplicación informática que funciona como cliente en un protocolo de red; el nombre se aplica generalmente para referirse a aquellas aplicaciones que acceden a la World Wide Web. Los agentes de usuario que se conectan a la Web pueden ser desde navegadores web hasta los web crawler de los buscadores, pasando por teléfonos móviles, lectores de pantalla y navegadores en Braille usados por personas con discapacidades.

Cuando un usuario accede a una página web, la aplicación generalmente envía una cadena de texto que identifica al agente de usuario ante el servidor. Este texto forma parte del pedido a través de HTTP, llevando como prefijo User-agent: o User-Agent: y generalmente incluye información como el nombre de la aplicación, la versión, el sistema operativo, y el idioma. Los bots, como los web crawlers, a veces incluyen también una URL o una dirección de correo electrónico para que el administrador del sitio web pueda contactarse con el operador del mismo.

La identificación de agente de usuario es uno de los criterios de exclusión utilizado por el Estándar de exclusión de robots para impedir el acceso a ciertas secciones de un sitio web.

Suplantación de la identificación de agente de usuario[editar]

En varios momentos durante la primera guerra de navegadores, alguno de los diferentes navegadores web dominó el mercado, al punto de que los sitios web eran diseñados y adaptados para funcionar con ese navegador en particular, en lugar de respetar los estándares propuestos por organismos como W3C y IETF. Este tipo de sitios generalmente incluye código que inspecciona qué agente de usuario realiza el pedido y altera el contenido de la respuesta acorde a cada uno; esta técnica es generalmente conocida por su nombre en inglés, browser sniffing. Esto generalmente resulta en que navegadores poco conocidos reciben sólo parte del contenido original, aunque sean capaces de mostrar el contenido completo de manera correcta; en casos extremos pueden tener bloqueado el acceso al sitio. Debido a esto, varios navegadores suplantan la identificación de agente de usuario, identificándose como otro navegador para burlar la detección; generalmente, la identificación real del navegador se mantiene en la identificación de agente de usuario. Este tipo de técnica es conocida generalmente por su nombre en inglés, user-agent spoofing.

El ejemplo más antiguo de esta técnica se da en la identificación de agente de usuario de Internet Explorer; esta comienza en Mozilla/<version> (compatible; MSIE <version>..., para poder recibir el mismo contenido destinado a Netscape Navigator, su principal rival al momento de su desarrollo. Este formato para la identificación ha sido copiado por varios otros agentes de usuario, dada la alta cuota de mercado de Internet Explorer. Nótese que la mención a Mozilla no es una referencia a la suite de Internet Mozilla Application Suite, que fue desarrollada varios años más tarde, sino al nombre clave original de Netscape Navigator, que es también el nombre de la mascota de la compañía Netscape.

Al convertirse Internet Explorer en el navegador dominante, otros productos como Mozilla Firefox, Safari, y Opera, implementaron en distintos momentos funcionalidades para que el usuario pudiera elegir una identificación falsa, como podría ser la de la última versión de Internet Explorer. Algunos navegadores copian literalmente la identificación de otros navegadores. En algunos casos los navegadores, como Opera, ofrecen la posibilidad de agregar al final de la identificación falsa una mención a la identificación real. Esta última técnica resulta en una identificación que contiene tres nombres y versiones: primero, el agente de usuario que se asegura ser Mozilla (Netscape Navigator); luego, MSIE (Internet Explorer); y finalmente, el verdadero navegador, por ejemplo Opera.

Aparte de los navegadores web, otras aplicaciones que trabajan sobre el protocolo HTTP, como los gestores de descargas, también incluyen funcionalidades que permiten al usuario elegir diferentes identificaciones. Esto se debe presumiblemente a una intención de mantener compatibilidad con ciertos servidores (algunos servidores bloquean el acceso a estos programas, porque su uso indiscriminado redunda en un excesivo consumo del ancho de banda y una lentitud general del sistema).

Se espera que este dialelo continúe en el área de los navegadores web; por tal razón, algunos desarrolladores han comenzado la campaña Viewable With Any Browser (en inglés, Visible con cualquier navegador), que recomienda a los desarrolladores diseñar páginas web de acuerdo a los estándares y no a la implementación de un navegador en particular.

Para 2005, muchos más sitios web comenzaron a respetar los estándares, pero aun así siguen apareciendo casos de código JavaScript desactualizado, que sólo permite el acceso a los navegadores Internet Explorer y Netscape Navigator. Esta costumbre suele explicarse culpando a los desarrolladores de reciclar código sin entender cómo funciona y qué efectos tiene.

Una de las consecuencias de la suplantación del agente de usuario es que las estadísticas sobre el uso de Internet Explorer resultan poco precisas, dada la cantidad de aplicaciones que se identifical como tal. La suplantación también puede resultar en una problema de seguridad si un motor de búsqueda cambia su identificación y consigue acceder a ciertas secciones sensibles de un sitio web.

Verificación del agente de usuario[editar]

La verificación del agente de usuario —técnica más conocida por su nombre en inglés, user agent sniffing— se refiere a la costumbre de ciertos sitios web de mostrar contenidos diferentes según el agente de usuario; en Internet, esto implica mostrar diferentes contenidos según el navegador web. Un triste ejemplo de esta práctica es Outlook 2003 Web Access, de Microsoft; Internet Explorer tiene acceso a funcionalidades no disponibles si se accede con otro navegador web. La verificación y consecuente discriminación según el agente de usuario es considerada generalmente una mala costumbre, porque implica un diseño diferente para cada situación. Generalmente se les recomienda a los responsables de sitios web que utilizan código HTML respetar tanto como sea posible los estándares para lograr un resultado similar con navegadores diferentes.

Los sitios web desarrollados específicamente para teléfonos móviles, como el portal Vodafone Live! de Vodafone, generalmente buscan identificar al agente de usuario, ya que los navegadores web disponibles para estos dispositivos suelen diferir mucho entre sí. Aunque los navegadores web en este ámbito han mejorado con el tiempo, todavía existe un mercado de dispositivos móviles anticuados, que no tienen acceso a estas nuevas tecnologías. Por lo tanto, los sitios web dirigidos a este mercado generalmente muestran un código fuente totalmente diferente, según el dispositivo y navegador con el que se accede. Estas diferencias pueden ser mínimas (por ejemplo, reducir el tamaño de las imágenes para que se vean adecuadamente en pantallas más pequeñas) o mucho más importantes (por ejemplo, utilizar WML en lugar de XHTML).

Capacidad de cifrado "U"/"I"/"N"[editar]

Netscape, Mozilla, Opera y otros desarrolladores web utilizan una de estas letras para especificar la capacidad de cifrado del navegador. Dado que anteriormente el gobierno de los Estados Unidos de América no permitía la exportación de tecnología de cifrado mayor a 40-bit, se lanzaban diferentes versiones de cada navegador con diferentes capacidades de cifrado. "U" se refiere a "USA" (con capacidad de cifrado de 128-bit), "I" se refiere "International" (con capacidad de cifrado de 40-bit, que puede ser usado en cualquier país) y "N" se refiere a None (nula capacidad de cifrado). Originalmente sólo se permitía bajar la versión "U" en Estados Unidos de América, pero luego de un tiempo el gobierno se volvió más flexible y permite la exportación de esta tecnología a la mayoría de los países. Actualmente Netscape y Mozilla distribuyen sólo la versión "U" de sus navegadores web, con capacidad de cifrado de 256-bit, ya que no sigue siendo necesario desarrollar una versión internacional.

Enlaces externos[editar]