Todos los artículos

User-Agent: por qué esta cadena es un desastre

Si se observa el User-Agent de un Chrome moderno, aparece algo como "Mozilla/5.0 ... AppleWebKit/537.36 ... Chrome/120.0 Safari/537.36" —una cadena repleta de referencias a navegadores que Chrome en realidad no es. Es el resultado de décadas de parches históricos, no una casualidad.

El origen de la palabra "Mozilla"

En los años 90, los sitios detectaban las capacidades del navegador comprobando si el User-Agent contenía "Mozilla" (el nombre en clave de Netscape Navigator, entonces líder del mercado). Cuando Internet Explorer quiso recibir el mismo contenido "avanzado", empezó a añadir "Mozilla" también a su propio User-Agent —y ese precedente se quedó fijado para siempre en la industria.

Android dominante y gama de entrada en Latinoamérica y España

En gran parte de Latinoamérica, Android tiene una cuota de mercado móvil muy superior a la de iOS, impulsada por la enorme disponibilidad de teléfonos de gama de entrada; en España, en cambio, el reparto entre iOS y Android está bastante más equilibrado, más parecido al de Europa occidental que al de la región latinoamericana. Esa diferencia hace que analizar tráfico web hispanohablante sin distinguir el país de origen pueda llevar a conclusiones erróneas sobre qué navegador o versión priorizar en las pruebas.

Por qué la detección por User-Agent no es fiable

Como cada navegador nuevo añade los tokens de sus predecesores al User-Agent por compatibilidad, esa cadena se ha convertido en un amasijo de artefactos históricos en lugar de una descripción precisa del navegador. La mejor práctica actual es detectar directamente el soporte de funciones concretas de JavaScript/CSS, en lugar de analizar el User-Agent.

Para qué sirve

  • Diagnosticar problemas de compatibilidad examinando exactamente qué navegador y versión reporta el cliente.
  • Interpretar los registros del servidor donde queda guardado el User-Agent de los visitantes.
  • Entender por qué el código antiguo de detección de navegador basado en User-Agent suele fallar.

User-Agent Client Hints como reemplazo

En lugar de analizar una única cadena sobrecargada, los navegadores modernos basados en Chromium ya admiten User-Agent Client Hints —cabeceras independientes como Sec-CH-UA, Sec-CH-UA-Platform y Sec-CH-UA-Mobile, que el servidor debe solicitar explícitamente y recibe en formato estructurado. Forma parte de una tendencia más amplia de "reducción" del User-Agent en favor de la privacidad, así que con el tiempo la cadena clásica de User-Agent contendrá cada vez menos detalles.

Probar la herramienta