¿Qué es un agente de usuario?

Un agente de usuario (User-Agent) es el software utilizado en el lado del cliente para acceder a servidores mediante protocolos específicos. Por lo general, cuando se habla de «User-Agent», se hace referencia al agente de usuario HTTP, que se transmite al acceder a servidores web mediante HTTP.

En las comunicaciones HTTP, la cabecera User-Agent enviada con las solicitudes del cliente identifica el agente de usuario. Por ejemplo, al acceder a un servidor web con la versión más reciente de Google Chrome en Windows 10 (a fecha de febrero de 2016), la cabecera User-Agent contiene la siguiente información:

Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36

Los servidores web utilizan esta información para diversos fines, como realizar análisis de acceso para determinar cuáles son los navegadores más utilizados o adaptar las páginas web en función del sistema operativo (por ejemplo, mostrando páginas diferentes para ordenadores y smartphones).

En los sitios web dinámicos que utilizan JavaScript u otros scripts, el comportamiento de la ejecución de estos puede variar según el navegador. Para solucionar este problema y garantizar la compatibilidad entre navegadores, es necesario identificar el tipo de navegador (a menudo mediante la información del User-Agent) y ejecutar el código adecuado para cada uno. Sin embargo, la información del User-Agent se puede falsificar, por lo que las técnicas modernas consisten en ejecutar determinado código que depende del navegador e identificar el tipo de navegador a partir de los resultados.

Anteriormente, la compatibilidad entre navegadores suponía un gran reto debido al uso generalizado de funciones exclusivas de determinados navegadores. Sin embargo, los avances en la estandarización de los navegadores han mitigado estas dificultades. Algunos sitios web modernos excluyen explícitamente la compatibilidad con navegadores antiguos, lo que reduce los requisitos de compatibilidad con tecnologías obsoletas.

Con las iRules de BIG-IP de F5, analizar las cadenas User-Agent resulta sencillo, lo que permite realizar acciones como bloquear el acceso desde determinados navegadores y redirigir a los usuarios a una página de disculpa.