BrowserTools
Publicidad
Inicio / Redes / Analizador de User-Agent

Analizador de User-Agent

Analiza una cadena de User-Agent en información de navegador, motor, sistema operativo y dispositivo.

Cargando Analizador de User-Agent… Si no ocurre nada, activa JavaScript.

La cabecera User-Agent es una cadena de texto de formato libre que los navegadores web y los clientes HTTP envían con cada petición, identificando el software que realiza la conexión. A pesar de ser solo una línea de texto, un User-Agent bien formado codifica una cantidad sorprendente de información: la familia y la versión del navegador, el motor de renderizado sobre el que está construido, el sistema operativo y su versión, y a menudo el tipo o el modelo del dispositivo. Esta información se ideó originalmente para permitir que los servidores web enviaran contenido adecuado al navegador en una época en la que Internet Explorer y Netscape renderizaban las páginas de forma muy distinta. Hoy, las cadenas de User-Agent se usan para analítica, detección de bots, detección de características y depuración de problemas de compatibilidad en aplicaciones web.

Preguntas frecuentes

¿Qué datos envía esta herramienta a vuestros servidores?
Nada. El análisis de User-Agent se ejecuta enteramente en tu navegador usando una biblioteca de JavaScript del lado del cliente. Ninguna cadena de UA que pegues o que se detecte automáticamente se envía a nuestros servidores. No hay peticiones al backend para esta herramienta, así que no hay nada que registrar ni almacenar.
¿Por qué las cadenas de User-Agent contienen 'Mozilla/5.0' incluso para Chrome y Safari?
Es un artefacto de compatibilidad heredado que se remonta a las guerras de navegadores de finales de los años 90. Los servidores web de la época servían contenido más rico a los navegadores 'Mozilla' y contenido degradado a los demás. Para evitar recibir páginas degradadas, cada navegador nuevo añadió 'Mozilla/5.0' a su cadena de UA sin importar su identidad real. La práctica ha continuado durante más de 25 años y ahora está consolidada en la especificación HTTP como comportamiento esperado.
¿Por qué el resultado analizado no siempre coincide con lo que espero?
El análisis de User-Agent es heurístico por naturaleza. Las nuevas versiones de navegador, los sistemas operativos poco habituales y las cadenas de UA personalizadas de aplicaciones o herramientas pueden confundir a cualquier analizador. Algunos navegadores se representan deliberadamente de forma errónea (por ejemplo, Opera solía declararse como Internet Explorer). Las aplicaciones móviles que incrustan vistas web a menudo declaran su propio nombre de aplicación junto al UA del WebView subyacente. Si el analizador muestra 'desconocido', la cadena de UA usa un formato poco convencional que el analizador no ha sido entrenado para reconocer.
¿Cuál es la diferencia entre el motor del navegador y el navegador en sí?
El motor de renderizado (por ejemplo, Blink, Gecko, WebKit) es el código subyacente que analiza el HTML, aplica el CSS y ejecuta el JavaScript. El navegador es la aplicación construida sobre ese motor, que añade la barra de direcciones, los marcadores, las extensiones y la interfaz. Chrome, Edge, Opera, Brave y la mayoría de los navegadores de Android usan Blink. Firefox usa Gecko. Safari usa WebKit. Conocer el motor suele ser más útil que el nombre del navegador para depurar problemas de compatibilidad de renderizado.
¿Hay límites de uso en esta herramienta?
No. Como el análisis se ejecuta enteramente en el lado del cliente en JavaScript, no hay peticiones al servidor y, por tanto, no hay límites de uso. Puedes analizar tantas cadenas de UA como quieras sin ninguna restricción. La herramienta funciona sin conexión una vez cargada la página.
¿Cómo se compara esto con usar navigator.userAgent en JavaScript?
'navigator.userAgent' en la consola de desarrollo de un navegador te da la cadena de UA en bruto de ese navegador. Esta herramienta hace lo mismo, pero además analiza la cadena en bruto en campos estructurados. También te permite pegar cadenas de UA arbitrarias de registros u otras fuentes, algo que 'navigator.userAgent' no puede hacer, ya que solo devuelve el UA del navegador actual.
¿Qué son los Client Hints y cómo reemplazan al User-Agent?
Los Client Hints (en concreto Sec-CH-UA, Sec-CH-UA-Platform, Sec-CH-UA-Mobile y cabeceras relacionadas) son cabeceras de petición HTTP estructuradas que proporcionan la identificación del navegador en un formato legible por máquina en lugar de una cadena de formato libre. Los introdujo Google como parte de la iniciativa de Reducción del User-Agent, que busca limitar la cadena de UA a un valor fijo de baja entropía para reducir la huella digital pasiva. Los servidores que necesiten información detallada del navegador deben solicitarla explícitamente devolviendo una cabecera Accept-CH.
¿Esta herramienta registra cadenas de User-Agent para analítica o publicidad?
No. Como el análisis es enteramente del lado del cliente, ningún dato de UA se transmite jamás a nuestros servidores. No hay nada que registrar, compartir con anunciantes ni almacenar. Tu navegador realiza todo el cálculo localmente.
¿Cómo se identifican los bots y rastreadores en el User-Agent?
Los bots que se comportan correctamente, como Googlebot (el rastreador web de Google), Bingbot (Microsoft) y los agentes de monitorización habituales, incluyen tokens de identificación en sus cadenas de UA siguiendo una convención aproximada de 'NombreDelBot/version (+url-con-info)'. Los scrapers maliciosos a menudo suplantan los UA de navegadores legítimos para evitar la detección de bots. Algunas señales de detección más allá del UA incluyen la frecuencia de peticiones, la ausencia de ejecución de JavaScript y la falta de cabeceras específicas del navegador como Sec-Fetch-Site.
¿Puedo confiar en la información de sistema operativo y dispositivo de un User-Agent?
Para navegadores legítimos en dispositivos estándar, la información de sistema operativo y dispositivo suele ser precisa porque no hay incentivo para que los usuarios finales la suplanten. Sin embargo, cualquier cliente HTTP puede establecer cualquier cadena de UA, los frameworks de automatización como Puppeteer y Selenium usan por defecto el UA real del navegador, pero pueden configurarse para usar cualquier cadena. Los navegadores y extensiones centrados en la privacidad pueden aleatorizar o suplantar el UA en cada petición como contramedida contra la huella digital, lo que hace que la información analizada no sea fiable para tomar decisiones de seguridad.

Acerca de Analizador de User-Agent

Los desarrolladores web pegan cadenas de User-Agent en analizadores cuando llega un informe de error de un usuario en una plataforma desconocida y necesitan entender exactamente qué combinación de navegador y sistema operativo está implicada. Los ingenieros de QA usan los datos de UA analizados para verificar que sus conjuntos de pruebas automatizadas se identifican correctamente. Los equipos de seguridad analizan los User-Agent en los registros del servidor para identificar scrapers web, escáneres de vulnerabilidades y bots. Los desarrolladores de API comprueban el UA de las peticiones entrantes para entender qué bibliotecas de cliente y versiones de SDK están usando sus usuarios. Los ingenieros de DevOps correlacionan los datos de UA con las tasas de error para identificar regresiones de compatibilidad específicas de un navegador.

Esta herramienta analiza cadenas de User-Agent enteramente en tu navegador usando una biblioteca de JavaScript del lado del cliente, no se envía ningún dato a nuestros servidores. La cadena de User-Agent actual de tu navegador se detecta automáticamente al cargar la página para que puedas ver tu propio resultado analizado de inmediato. También puedes pegar cualquier cadena de UA que hayas copiado de un registro de servidor o de un informe de error para analizarla cuando quieras. El analizador identifica la familia del navegador, la versión del navegador, el motor de renderizado (Blink, Gecko, WebKit, Trident), el sistema operativo, la versión del sistema operativo y la categoría del dispositivo (escritorio, móvil, tableta, bot). Los resultados se muestran en un formato estructurado con cada campo etiquetado con claridad.

Al leer los resultados analizados, recuerda que no se garantiza que las cadenas de User-Agent sean precisas, cualquier cliente puede establecer la cadena de UA que quiera y la suplantación es trivialmente fácil. Chrome en Android, por ejemplo, incluye los tokens 'Mozilla/5.0' y 'Safari' en su UA por razones históricas de compatibilidad, y por eso las cadenas de UA en bruto resultan extrañas incluso para navegadores muy conocidos. El proyecto del UA 'congelado' de Chrome (iniciado alrededor de 2021) busca reducir la fuga de información limitando los números de versión en la cadena de UA y trasladando la identificación detallada del navegador a las cabeceras estructuradas de Client Hints (Sec-CH-UA-*). Si estás creando detección de navegador para uso en producción, prefiere la API de Client Hints sobre el análisis de User-Agent siempre que sea posible.

La cadena que se rompió a sí misma: una breve historia del caos del User-Agent

La cabecera User-Agent se introdujo en la primera especificación publicada de HTTP en 1992, concebida originalmente como una simple identificación de una línea del software que realizaba una petición, algo como 'NCSA_Mosaic/2.0'. El caos empezó casi de inmediato. Cuando Netscape Navigator se lanzó en 1994 y rápidamente dominó el mercado de los navegadores, los desarrolladores web empezaron a servir páginas 'mejoradas' solo a Netscape, que se identificaba como 'Mozilla'. Internet Explorer de Microsoft, lanzado en 1995, necesitaba recibir las mismas páginas mejoradas, así que añadió 'Mozilla/2.0 (compatible; MSIE 3.0)' a su cadena de UA, declarándose como Mozilla a la vez que se identificaba como MSIE.

Todos los navegadores importantes que vinieron después repitieron el mismo patrón. Opera añadió tokens de compatibilidad con Mozilla. Safari, construido sobre el motor KHTML bifurcado en WebKit, añadió 'Mozilla/5.0 (... like Gecko)' a su cadena. Chrome, construido sobre WebKit, añadió los tokens 'AppleWebKit' y 'Safari' para asegurar que el código orientado a Safari también funcionara en Chrome. El resultado es que una cadena de UA actual de Chrome en Windows contiene tokens de Mozilla, AppleWebKit, KHTML, Gecko y Safari, cinco referencias distintas a navegadores competidores, ninguna de las cuales es la propia identidad de Chrome, que aparece solo como 'Chrome/version' cerca del final.

Google anunció el proyecto de Reducción del User-Agent en 2020, con el objetivo de congelar la cadena de UA en un valor fijo de baja entropía para 2022 y migrar la identificación detallada del navegador al mecanismo estructurado y voluntario de Client Hints. El despliegue real fue más lento de lo previsto debido a preocupaciones de compatibilidad web, ya que millones de aplicaciones web dependen del análisis de la cadena de UA para una lógica que no puede migrarse fácilmente. Esto convierte a la cabecera User-Agent en un ejemplo vivo de lo difícil que es retirar un estándar de internet defectuoso pero profundamente arraigado: incluso después de tres décadas y de un reconocimiento casi universal de que el formato está roto, el esfuerzo por reemplazarlo se mide en años.

Publicidad
Publicidad
Publicidad