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?
¿Por qué las cadenas de User-Agent contienen 'Mozilla/5.0' incluso para Chrome y Safari?
¿Por qué el resultado analizado no siempre coincide con lo que espero?
¿Cuál es la diferencia entre el motor del navegador y el navegador en sí?
¿Hay límites de uso en esta herramienta?
¿Cómo se compara esto con usar navigator.userAgent en JavaScript?
¿Qué son los Client Hints y cómo reemplazan al User-Agent?
¿Esta herramienta registra cadenas de User-Agent para analítica o publicidad?
¿Cómo se identifican los bots y rastreadores en el User-Agent?
¿Puedo confiar en la información de sistema operativo y dispositivo de un User-Agent?
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.