¿Por qué Edge incluye "Safari" en su User-Agent?

El legado extraño de la guerra de navegadores de hace 20 años



Al analizar los registros del servidor, es posible que hayas visto esta cadena:

Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/101.0.4951.64
Safari/537.36
Edg/101.0.1210.47

“¿Edge con Safari?” “¿Chrome con Mozilla?”

¿Cómo puede un navegador pretender ser cuatro al mismo tiempo? No es un truco de texto; es el fósil de la guerra de navegadores más intensa de la historia web. Y su huella sigue apareciendo en los logs de 2025.

En este artículo veremos:

  • Por qué todos los navegadores siguen empezando con Mozilla/5.0.
  • Por qué Edge basado en Chromium se siente obligado a abrazar a Safari.
  • Cómo este caos terminará siendo descartado por los estándares.

1. Todo comenzó con la guerra Netscape vs IE

A finales de los 90, el mercado de navegadores estaba dominado por dos jugadores:

  • Netscape Navigator
  • Internet Explorer

El User‑Agent de Netscape era algo así:

Mozilla/4.0 (compatible; ...)

Los desarrolladores de la web empezaron a usar esa cadena como señal de un navegador moderno:

“Si el UA contiene "Mozilla", entonces es un navegador Netscape y podemos usar las últimas funciones.”

Esto convirtió la detección de características en una simple comprobación de cadena:

// Pseudocódigo de los 90s
if (ua.includes("Mozilla")) {
  // Código para navegadores modernos
} else {
  // Código para versiones antiguas
}

Los demás navegadores se enojaron y comenzaron a anteponer Mozilla a sus UAs como una especie de sello de compatibilidad.

Origen del nombre "Mozilla"

  • “Mosaic + Godzilla” → “Mozilla” es un juego de palabras.
  • En esencia, era un etiqueta de marketing que decía: "Soy Netscape‑like, no me subestimes".

Ese motivo histórico sigue haciendo que la mayoría de los navegadores empiecen su UA con Mozilla/5.0.


2. La guerra de motores: WebKit, Gecko, Trident…



A principios de los 2000, la arquitectura de motores se dividió así:

  • IE → Trident
  • Firefox → Gecko
  • Safari → WebKit

Los desarrolladores volvieron a usar la cadena UA para diferenciar motores:

const ua = navigator.userAgent;

if (ua.includes("Safari")) {
  // Código para Safari/WebKit
}
if (ua.includes("Gecko")) {
  // Código para Firefox
}
if (ua.includes("Trident")) {
  // Código exclusivo de IE
}

El surgimiento de Chrome complicó las cosas. Cuando Chrome apareció, los sitios no lo reconocían y terminaban en la rama de Safari. Chrome decidió, entonces, presentarse como Safari:

Mozilla/5.0 (...)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/xx.xx.xx
Safari/537.36

Esta cadena significa:

  • Mozilla/5.0 – "Soy un navegador Netscape‑like"
  • AppleWebKit/537.36 – "Mi motor de renderizado es WebKit"
  • (KHTML, like Gecko) – "Puedo comportarme como Gecko"
  • Safari/537.36 – "Debo parecer Safari para compatibilidad"
  • Chrome/xx – "En realidad soy Chrome"

3. La llegada de Edge: un compromiso entre identidad y supervivencia

Microsoft lanzó Edge con su propio motor EdgeHTML y luego migró a Chromium. Sabían que muchos sitios todavía dependían de la detección de UA:

User-Agent: Edge/101.0.0.0

Si Edge se presentaba así, los sitios no lo reconocerían, se activarían mensajes de "navegador no soportado", y la experiencia se rompería.

La estrategia de Edge

"Soy Edge, pero debo parecer Chrome + Safari para sobrevivir."

Por eso su UA se ve así:

Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/101.0.4951.64
Safari/537.36
Edg/101.0.1210.47

Interpretación:

  • Mozilla – "Soy un navegador moderno"
  • AppleWebKit – "Renderizo con WebKit"
  • Chrome – "Basado en Chromium"
  • Safari – "Puedo parecer Safari"
  • Edg – "Mi marca es Edge"

En realidad, la cadena es una carta de presentación de Edge que busca compatibilidad con el legado de la web.


4. Interpretación de la cadena UA: 30 años de historia en una línea

Desglosando la cadena:

Token Significado (paráfrasis)
Mozilla/5.0 "Soy un navegador Netscape‑like, no me subestimes."
AppleWebKit/537.36 "Renderizo con WebKit, como Safari."
KHTML, like Gecko "Puedo comportarme como Gecko."
Safari/537.36 "Debo parecer Safari para compatibilidad."
Chrome/101.0... "Mi motor es Chromium."
Edg/101.0... "Mi identidad es Edge."

En una sola línea se ocultan:

  • La guerra Netscape vs IE.
  • La batalla de motores Gecko vs WebKit vs Trident.
  • El dominio de Chrome.
  • La estrategia de supervivencia de Edge.

5. El futuro: User‑Agent como "basura histórica"

El sistema de UA actual está casi roto:

  • Navegadores se disfrazan → confianza cero.
  • El texto crece y expone demasiada información → riesgo de privacidad.
  • No es posible determinar con precisión el navegador o sus capacidades.

Por eso W3C y los fabricantes están abandonando la cadena UA y adoptando User‑Agent Client Hints.

Client Hints: la honestidad del futuro

Los encabezados que reemplazarán la cadena UA son:

Sec-CH-UA
Sec-CH-UA-Platform
Sec-CH-UA-Mobile

El flujo es:

  1. El servidor solicita información específica.
  2. El navegador responde con datos estructurados y opcionales.
  3. No se necesita interpretar una cadena larga.

Ventajas:

  • Los navegadores ya no necesitan disfrazarse.
  • Menos exposición de datos personales.
  • Código del lado del servidor más simple y fiable.

En resumen, la web está rediseñando sus estándares para que los navegadores sean honestos.


6. Conclusión – Una nueva perspectiva sobre la línea extraña en los logs

Volvamos a la línea original:

Mozilla/5.0 ... Safari/537.36 ... Edg/101

No es solo una combinación de palabras; es un registro compacto de:

  • La guerra de navegadores y motores.
  • La adaptación a código legado.
  • La estrategia de mercado.
  • El proceso de normalización que está en marcha.

Y lo curioso es que, a pesar de todo, esta "fósil" sigue apareciendo en los logs de 2025. La próxima vez que veas esa mezcla extraña, puedes sonreír y pensar: "Otro fragmento de la historia de la web se ha registrado." 🙂

image