La cadena de texto de arriba es la cabecera User-Agent exacta que su navegador envía en las solicitudes HTTP ordinarias hoy en día. Mantengo esta página porque una implementación de producción de Next.js una vez sirvió el diseño incorrecto a los usuarios de iPhone: nuestro middleware todavía analizaba un token de escritorio congelado mientras las Client Hints ya informaban Sec-CH-UA-Mobile: ?1. El error fue nuestro, no de Apple, pero me enseñó a registrar tanto la cadena heredada como las cabeceras de Client Hints en cada ticket de SSR. A continuación, detallo qué significa cada token, cómo las User-Agent Client Hints reemplazan al antiguo juego de detección y cuándo la suplantación es legítima para pruebas versus dañina para la privacidad.
Qué es realmente una cadena de agente de usuario
La cabecera de solicitud User-Agent es un único campo de texto definido en RFC 9110. Históricamente, los servidores la analizaban con expresiones regulares para adivinar el motor del navegador, el sistema operativo y la clase de dispositivo. El formato no está estandarizado más allá de la convención: tokens de producto como Chrome/136.0.0.0, tokens de compatibilidad como KHTML, like Gecko, y un bloque de comentarios entre paréntesis que a menudo detalla la plataforma.
Casi todos los navegadores todavía comienzan con Mozilla/5.0 porque Netscape una vez dominó y los sitios restringían funciones basándose en ese token. IE tuvo que declarar compatibilidad; todos los demás heredaron el hábito. El comentario no significa que esté ejecutando Mozilla Firefox; es una sintaxis heredada que sobrevivió a tres décadas de evolución web.
User-Agent Client Hints y la cadena congelada
La reducción de User-Agent de Chromium mantiene la cadena heredada simplificada a propósito: menos bits de versión, menos entropía de plataforma. Los datos detallados se trasladaron a las cabeceras opcionales Client Hints estandarizadas en RFC 8942. Los ejemplos incluyen Sec-CH-UA (lista de marcas), Sec-CH-UA-Mobile, y Sec-CH-UA-Platform. JavaScript puede leer marcas estructuradas a través de navigator.userAgentData cuando la página es un contexto seguro y los permisos lo permiten.
Los frameworks de servidor deben solicitar explícitamente estas indicaciones (por ejemplo, mediante la cabecera de respuesta Accept-CH) o nunca llegarán. Es por eso que las arquitecturas modernas registran ambos mundos: el UA congelado para compatibilidad con versiones anteriores y las Client Hints para una detección móvil precisa. Nuestra página de resumen de navegador complementa esta con un desglose comprensible cuando las Client Hints están disponibles.
Cómo leer una cadena UA (tres formas reales)
Chromium de escritorio en Windows normalmente incluye Windows NT 10.0 en el comentario y termina con Chrome/… Safari/537.36 porque Blink mantiene el token de WebKit para compatibilidad con sitios. Safari móvil en iPhone utiliza iPhone; CPU iPhone OS … y Version/… Mobile/… Safari/… sin exponer "Chrome", aunque WebKit también impulsa su motor. Los rastreadores automatizados acortan el patrón y añaden nombres de producto como Googlebot o GPTBot cerca del principio.
# Patrones ilustrativos (las versiones cambian constantemente)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 … Chrome/136.0.0.0 Safari/537.36
Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) … Version/18.4 Mobile/15E148 Safari/604.1
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)Copie la cadena en vivo desde el bloque principal de esta página al informar errores. No confíe en capturas de pantalla de blogs; los proveedores lanzan nuevas versiones principales cada cuatro semanas.
Cómo los sitios web siguen usando (y mal usando) el agente de usuario
Los usos legítimos incluyen la segmentación analítica, servir una hoja de estilo móvil más ligera y bloquear clientes antiguos que no pueden ejecutar el JavaScript requerido. Los usos problemáticos incluyen listas de permitidos codificadas de forma rígida, detección de evasión de muros de pago basada únicamente en la UA y sistemas de huellas digitales que combinan el hash de toda la cadena con datos de canvas.
Una mejor práctica es la detección de características: probar si Intl, fetch o una propiedad CSS específica existen antes de bifurcar el código. La gestión de bots combina la UA con la reputación de la IP, la huella digital TLS y desafíos JavaScript porque suplantar la cadena de UA es sumamente fácil.
Suplantar su UA para pruebas (y por qué no quedarse allí permanentemente)
Chrome DevTools → Network conditions → User agent le permite emular otro dispositivo para el control de calidad del diseño. Firefox ofrece una anulación similar en el modo de diseño adaptativo. Las extensiones pueden persistir una UA falsa en las pestañas, lo cual es útil para reproducir el ticket de un cliente, pero peligroso si olvida que está habilitado.
La suplantación no cambia su IP, zona horaria o capacidades de hardware. Los sitios que combinan señales seguirán clasificándole correctamente. Los sistemas de fraude pueden marcar pares inconsistentes (UA de móvil + tamaño de pantalla de escritorio de nuestra herramienta de pantalla).
Agentes de usuario de rastreadores y bots comunes
| Bot | Fragmento de UA típico | Propósito | Respeta robots.txt |
|---|---|---|---|
| Googlebot | Googlebot/2.1 | Indexación de búsqueda | Sí (política + robots) |
| Bingbot | bingbot/2.0 | Indexación de búsqueda de Bing | Sí |
| GPTBot | GPTBot/1.0 | Rastreo de entrenamiento de OpenAI (exclusión voluntaria mediante robots) | Respeta las reglas de exclusión si está configurado |
| ClaudeBot | ClaudeBot/1.0 | Rastreador de Anthropic | Respeta las reglas de exclusión si está configurado |
| PerplexityBot | PerplexityBot/1.0 | Indexación de respuestas de Perplexity | Respeta las reglas de exclusión si está configurado |
| AhrefsBot | AhrefsBot/7.0 | Rastreo de enlaces de retroceso SEO | Sí (rastreador comercial) |
Verifique la autenticidad con DNS inverso para los principales bots de búsqueda y sus propias reglas de robots.txt. El malware a menudo se hace pasar por Googlebot; no confíe solo en la cadena de texto.
Preguntas frecuentes
¿Por qué el agente de usuario de cada navegador comienza con "Mozilla"?
Compatibilidad histórica. Los primeros servidores buscaban el token de Mozilla para habilitar funciones de JavaScript y CSS. Los nuevos motores adoptaron el prefijo para no quedar excluidos. El nombre permaneció aunque la cuota de mercado del navegador Netscape desapareció hace décadas.
¿Qué son las User-Agent Client Hints?
Son cabeceras de solicitud HTTP (y una API de JavaScript) que exponen metadatos estructurados sobre la marca del navegador, la versión, si es móvil y la plataforma de forma opcional. Reemplazan el análisis de la cadena UA heredada para los sitios que envían Accept-CH y reciben el consentimiento.
¿Cómo cambio mi agente de usuario?
Use la emulación de dispositivos de DevTools para pruebas temporales, o una extensión dedicada para anulaciones persistentes. Recuerde desactivar las anulaciones después de la depuración o se encontrará persiguiendo errores de diseño inexistentes. La suplantación no cambia su IP ni altera las huellas digitales TLS.
¿Puede un sitio web saber si estoy suplantando mi agente de usuario?
A menudo sí. Las discrepancias entre la UA, las Client Hints, las dimensiones de la pantalla, el soporte táctil y las cadenas de renderizado de WebGL son fáciles de detectar. Las defensas serias contra bots no dependen de la UA por sí sola, pero la inconsistencia aumenta los niveles de riesgo.
¿Qué agente de usuario utiliza Googlebot?
Google publica múltiples agentes (smartphone, escritorio, imágenes). Un patrón común es Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html). Confirme con la documentación de rastreadores de Google y verifique la IP de origen mediante DNS inverso.
Herramientas relacionadas
Resumen comprensible del navegador y motor: ¿Cuál es mi navegador?. Geometría de pantalla y DPR: ¿Cuál es mi resolución de pantalla?. Cadenas del renderizador de GPU: ¿Cuál es mi WebGL / GPU?.
Fuentes citadas anteriormente
- RFC 9110: Semántica HTTP (cabecera User-Agent)
- RFC 8942: Estructura de Client Hints
- Reducción del User-Agent de Chromium
- Descripción general de los rastreadores de búsqueda de Google