Pourquoi Edge ajoute-t‑il "Safari" dans son User‑Agent ?

Le vestige étrange d’une guerre de navigateurs il y a 20 ans



En fouillant les logs serveur, vous avez sûrement déjà vu cette chaîne de caractères :

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 ? Safari ? » « Chrome ? Mozilla ? »

Comment un seul navigateur peut-il se faire passer pour quatre ? Ce n’est pas un simple jeu de mots, c’est le fossile d’une guerre de navigateurs qui a marqué l’histoire du web. Et ses répercussions se lisent encore dans les logs de 2025.

Dans cet article, nous verrons :

  • Pourquoi tous les User‑Agents commencent encore par Mozilla/5.0 ;
  • Pourquoi Edge, basé sur Chromium, a besoin de « Safari » ;
  • Et comment ce chaos est en voie d’être abandonné par les standards.

1. Tout a commencé avec la guerre Netscape vs IE

À la fin des années 90, le marché du navigateur était dominé par deux acteurs :

  • Netscape Navigator
  • Internet Explorer

Le User‑Agent de Netscape ressemblait à :

Mozilla/4.0 (compatible; ...)

Les développeurs ont alors pensé :

« Si le navigateur contient "Mozilla", c’est moderne ; sinon, c’est obsolète. »

Ce qui a créé un branchage basé sur le User‑Agent.

// Pseudo‑code des années 90
if (ua.includes("Mozilla")) {
  // Code moderne
} else {
  // Code obsolète
}

Les autres navigateurs ont réagi :

« Nous sommes aussi Netscape‑style ! »

Ils ont donc commencé à préfixer leurs User‑Agents par Mozilla. À l’époque, Mozilla était un marqueur de compatibilité : « Je suis aussi moderne, ne me traite pas comme un vieux navigateur. »

Origine du nom « Mozilla »

  • « Mosaic + Godzilla » → Mozilla (parodique) ;
  • En réalité, c’est simplement un label marketing signifiant « Netscape‑style ».

C’est pourquoi aujourd’hui presque tous les navigateurs commencent par :

Mozilla/5.0 (Windows NT 10.0; Win64; x64; ...)

2. Les moteurs WebKit, Gecko, Trident : un nouveau chaos



Au début des années 2000, la situation s’est complexifiée :

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

Les développeurs ont de nouveau utilisé le User‑Agent pour distinguer les moteurs.

const ua = navigator.userAgent;

if (ua.includes("Safari")) {
  // Code Safari/WebKit
}
if (ua.includes("Gecko")) {
  // Code Firefox
}
if (ua.includes("Trident")) {
  // Code IE
}

L’arrivée de Chrome

Chrome a introduit un problème supplémentaire : les sites ne le reconnaissaient pas, les envoyant donc dans le flux de code Safari.

Pour contourner cela, Chrome a décidé de se faire passer pour Safari :

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

Cette chaîne signifie :

  • Mozilla/5.0 : « Je suis aussi moderne »
  • AppleWebKit/537.36 : « Mon moteur est WebKit‑style »
  • (KHTML, like Gecko) : « Je fonctionne comme Gecko »
  • Safari/537.36 : « Je ressemble à Safari »
  • Chrome/xx : « Je suis réellement Chrome »

3. Edge : compromis entre identité et survie

Microsoft a d’abord lancé Edge avec son propre moteur EdgeHTML, puis a migré vers Chromium. Le problème : les sites contenaient des milliers de vérifications User‑Agent.

Si Edge avait simplement envoyé :

User-Agent: Edge/101.0.0.0

…les sites ne le reconnaîtraient pas, déclencherait des messages d’erreur, et la compatibilité serait perdue.

La stratégie d’Edge

« Je suis Edge, mais je dois paraître comme Chrome + Safari pour survivre. »

Le User‑Agent d’Edge ressemble à :

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

Interprétation :

  • Mozilla : « Je suis moderne »
  • AppleWebKit : « Je rend mon contenu comme WebKit »
  • Chrome : « Je suis basé sur Chromium »
  • Safari : « Je ressemble à Safari »
  • Edg : « Je suis Edge »

Cette longue chaîne est donc un carton de survie pour naviguer dans l’écosystème de code hérité.


4. Interprétation du User‑Agent : 30 ans d’histoire en une ligne

Voici un tableau récapitulatif :

Token Signification (paraphrase)
Mozilla/5.0 « Je suis moderne, ne me traite pas comme un vieux navigateur »
AppleWebKit/537.36 « Je rend mon contenu comme WebKit »
KHTML, like Gecko « Je fonctionne comme Gecko »
Safari/537.36 « Je ressemble à Safari »
Chrome/101.0... « Je suis basé sur Chromium »
Edg/101.0... « Je suis Edge »

Cette ligne encapsule :

  • La guerre Netscape vs IE ;
  • Le conflit entre Gecko, WebKit et Trident ;
  • La domination de Chrome ;
  • La stratégie de survie d’Edge.

5. Le User‑Agent devient un « déchet historique »

Aujourd’hui, le système User‑Agent est largement considéré comme défectueux :

  • Les navigateurs se font passer les uns pour les autres → fiabilité nulle ;
  • Le texte devient de plus en plus long ;
  • Les informations d’appareil/OS sont trop exposées → problèmes de confidentialité ;
  • Il est pratiquement impossible de déterminer le navigateur ou ses capacités à partir de cette chaîne.

Les standards (W3C) et les éditeurs de navigateurs progressent vers l’abandon du User‑Agent classique en faveur des User‑Agent Client Hints.

Client Hints : la transparence enfin

Les nouveaux headers :

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

Fonctionnement :

  1. Le serveur demande des informations précises via un header.
  2. Le navigateur répond avec les données demandées, structurées et sélectives.
  3. Pas besoin d’interpréter une longue chaîne.

Avantages :

  • Pas de besoin de masquer son identité ;
  • Réduction de la fuite d’informations personnelles ;
  • Simplification du code serveur.

6. Conclusion : une nouvelle façon de lire les logs serveur

Revenons à la première ligne :

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

Ce n’est pas une simple concaténation ; c’est un journal de guerre :

  • Conflits de navigateurs ;
  • Compromis avec le code hérité ;
  • Stratégies de survie ;
  • L’évolution vers de nouveaux standards.

Et le plus surprenant : ces vestiges continuent d’apparaître dans les logs de 2025. La prochaine fois que vous verrez une telle combinaison, pensez à elle comme à un fossile vivant du web.

image