HTTPQUERY
Español

User-Agent

Uso

Los clientes incluyen User-Agent en cada solicitud para identificar ante el servidor la aplicación, el sistema operativo y el motor de renderizado. Los servidores usan esta información para la negociación de contenido, la analítica y los ajustes de compatibilidad.

El valor sigue un formato estructurado de tokens de producto. Cada token consta de un nombre de producto y una versión opcional, seguidos de comentarios opcionales entre paréntesis. Cuando hay varios tokens, aparecen separados por espacios.

User-Agent: <product>/<version> (<comment>) <product>/<version>

En la práctica, las cadenas User-Agent de los navegadores se han vuelto largas y complejas debido a patrones históricos de compatibilidad. La mayoría de los navegadores incluyen Mozilla/5.0 como primer token por motivos heredados, seguido de los detalles de la plataforma en un comentario y, después, los tokens del motor y del navegador.

Los servidores que sirven contenido distinto en función de los valores de User-Agent implementan una forma de negociación de contenido. Los rastreadores de los motores de búsqueda se identifican mediante esta cabecera, lo que permite a los servidores aplicar lógica específica para rastreadores. Los sistemas de detección de bots analizan los patrones de User-Agent para distinguir el tráfico automatizado de los visitantes humanos.

La familia de cabeceras Sec-CH-UA ofrece una alternativa estructurada a la cadena User-Agent. Los User-Agent Client Hints entregan la misma información en un formato ya analizado y de baja entropía. El navegador envía de forma predeterminada un conjunto mínimo de pistas, y el servidor solicita detalles adicionales mediante la cabecera de respuesta Accept-CH. Esto reduce la superficie de huella digital pasiva en comparación con una cadena User-Agent completa.

product

Un identificador de producto del software cliente. Por convención, el producto más significativo se indica en primer lugar.

version

Una cadena de versión asociada al token de producto precedente, separada por una barra inclinada.

comment

Detalles adicionales entre paréntesis, que normalmente describen el sistema operativo, el dispositivo o la plataforma. Los comentarios aparecen después de un par product/version.

Ejemplo

Un navegador de escritorio envía una cadena User-Agent que contiene la plataforma, el motor de renderizado y la versión del navegador. El prefijo Mozilla/5.0 es un vestigio histórico presente en todos los navegadores modernos.

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.0.0.0 Safari/537.36

Un navegador móvil incluye información del dispositivo y de la plataforma móvil en la sección de comentario.

User-Agent: Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.0.0.0 Mobile Safari/537.36

La reducción de la UA de Chrome congela los componentes menor, de compilación y de parche en 0.0.0. La versión mayor se incrementa con cada lanzamiento.

Los rastreadores de los motores de búsqueda usan valores de User-Agent distintivos para identificarse. El comentario suele contener una URL que apunta a la documentación sobre el rastreador.

User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Bingbot utiliza una cadena de UA perenne basada en Chromium. El componente de versión W.X.Y.Z se actualiza automáticamente para coincidir con la versión actual de Chrome.

Escritorio:

User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/W.X.Y.Z Safari/537.36

Móvil:

User-Agent: Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)

Las herramientas de línea de comandos y las bibliotecas HTTP envían valores más cortos y sencillos.

User-Agent: curl/8.4.0

Los clientes de API personalizados y los bots incluyen un nombre de producto descriptivo, la versión y una URL de contacto:

User-Agent: MyBot/1.0 (+https://example.re/bot)

Privacidad

La cadena User-Agent es un vector importante de huella digital del navegador. La combinación de navegador, versión, sistema operativo y detalles de la plataforma crea un identificador casi único que los scripts de rastreo aprovechan sin cookies ni consentimiento explícito.

La iniciativa de reducción del User-Agent de Chrome congela partes de la cadena y traslada la información detallada a los Client Hints Sec-CH-UA, que requieren que el servidor los solicite explícitamente mediante Accept-CH. Esto convierte los datos detallados del cliente de una exposición pasiva en una negociación activa.

Los servidores no deben basarse en User-Agent para decisiones de seguridad como la autenticación o el control de acceso. Los clientes controlan el valor y falsifican la cadena con total facilidad.