Warum fügt Edge Safari in den User‑Agent ein?

20 Jahre Browser‑Krieg und die seltsamen Überreste



Wenn Sie Server‑Logs durchforsten, haben Sie vielleicht schon diese Zeile gesehen:

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, aber Safari?“ „Chrome, aber Mozilla?“

Wie kann ein Browser gleichzeitig vier Browser sein? Das ist kein bloßes String‑Spiel – es ist das Überbleibsel des härtesten Browser‑Krieges der Web‑Geschichte. Und die Folgen sind bis ins Jahr 2025 in den Logs zu sehen.

In diesem Beitrag schauen wir uns an:

  • Warum alle Browser noch mit Mozilla/5.0 beginnen
  • Warum Chromium‑basiertes Edge gezwungen ist, Safari zu „nachahmen"
  • Und wie dieser Chaos‑String letztlich von den Standards aufgegeben wird

1. Alles begann im Netscape‑vs‑IE‑Krieg

In den späten 1990er Jahren dominierten zwei Browser den Markt:

  • Netscape Navigator
  • Internet Explorer

Netscapes User‑Agent sah so aus:

Mozilla/4.0 (compatible; ...)

Web‑Entwickler begannen, daraus abzuleiten:

„Wenn der User‑Agent Mozilla enthält, dann ist es ein moderner Browser. Andernfalls ist es alt.“

Das führte zu einer Feature‑Branching‑Logik basierend auf dem User‑Agent.

// 1990er‑Stil
if (ua.includes("Mozilla")) {
  // Moderne Features für Netscape/Chrome‑ähnliche Browser
} else {
  // Alt‑Browser‑Code
}

Andere Browser waren verärgert und begannen ebenfalls, Mozilla am Anfang zu setzen – ein Kompatibilitäts‑Mark: „Ich bin Netscape‑ähnlich, bitte nicht als alt behandeln.“

Ursprung des Namens „Mozilla“

  • „Mosaic + Godzilla“ → „Mozilla“
  • Im Marketing: „Ein Browser, stark wie Godzilla“
  • Praktisch: „Netscape‑ähnlich oder zumindest brauchbar“

Deshalb beginnen heute fast alle Browser mit Mozilla/5.0.


2. WebKit, Gecko, Trident – Engine‑Krieg



In den frühen 2000er Jahren trennte sich die Engine‑Landschaft:

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

Entwickler nutzten erneut den User‑Agent, um zu unterscheiden:

const ua = navigator.userAgent;

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

Der Code wurde schnell unübersichtlich, da Engine‑Name und Markenname vermischt wurden.

Chrome kommt – „Wer bist du?“

Chrome wurde zunächst von vielen Seiten nicht erkannt und landete im Safari‑Code‑Pfad. Um das zu umgehen, entschied sich Chrome, sich als Safari auszugeben:

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

Die Bedeutung: * Mozilla/5.0 – „Ich bin Netscape‑ähnlich“ * AppleWebKit/537.36 – „Ich nutze WebKit“ * (KHTML, like Gecko) – „Ich bin Gecko‑kompatibel“ * Safari/537.36 – „Ich sehe aus wie Safari“ * Chrome/xx – „Ich bin Chrome“

Ein vierfacher Maskierungs‑Browser.


3. Edge – Kompromiss zwischen Identität und Überleben

Microsoft startete mit EdgeHTML, wechselte aber später zu Chromium. Sie wussten, dass viele Websites noch immer auf User‑Agent‑Bedingungen setzen. Ein reiner Edge‑User‑Agent würde viele Seiten blockieren.

User-Agent: Edge/101.0.0.0

Würde das passieren, wären viele Seiten nicht mehr erreichbar. Deshalb entschied sich Microsoft für einen Hybrid‑String:

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

Interpretation: * Mozilla – „Ich bin moderner Browser“ * AppleWebKit – „Ich rendern wie WebKit“ * Chrome – „Chromium‑basiert“ * Safari – „Ich sehe aus wie Safari“ * Edg – „Ich bin Edge“

Der String ist also ein Überlebens‑Maskierungs‑Karte.


4. User‑Agent‑String – 30 Jahre Geschichte in einer Zeile

Token Bedeutung (Übersetzung)
Mozilla/5.0 „Ich bin ein moderner Browser, bitte nicht als alt behandeln.“
AppleWebKit/537.36 „Ich rendern wie WebKit.“
KHTML, like Gecko „Ich bin Gecko‑kompatibel.“
Safari/537.36 „Ich sehe aus wie Safari.“
Chrome/101.0... „Ich bin Chromium‑basiert.“
Edg/101.0... „Ich bin Edge.“

In einer Zeile steckt: * Netscape‑vs‑IE‑Krieg * Gecko‑vs‑WebKit‑vs‑Trident‑Krieg * Chome‑Markteinführung * Edge‑Überlebensstrategie


5. Der User‑Agent wird zum „historischen Müll“

Der aktuelle User‑Agent‑Mechanismus ist ein veraltetes Design: * Browser imitieren sich gegenseitig → Vertrauensverlust * Legacy‑Code führt zu immer längeren Strings → Datenschutz‑Risiko * Parsing ist nahezu unmöglich → Fehleranfällig

W3C und Browser‑Hersteller verschieben daher zu User‑Agent Client Hints:

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

Der Ablauf: 1. Server fragt nach spezifischen Informationen. 2. Browser liefert nur das, was gefragt ist, strukturiert. 3. Keine langen Maskierungs‑Strings mehr.

Vorteile: * Keine „Safari‑Maskierung“ mehr. * Weniger Datenschutz‑Bedenken. * Einfachere, strukturierte Daten.


6. Fazit – Ein Blick auf die seltsame Zeile in den Logs

Die Zeile

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

ist mehr als nur ein String. Sie ist ein Kompakt‑Geschichtsbuch über Browser‑Krieg, Legacy‑Code, Markt‑Strategien und die aktuelle Bewegung hin zu saubereren Standards.

Wenn Sie also das nächste Mal einen solchen String in Ihren Logs sehen, denken Sie daran: Sie beobachten ein Stück Web‑Geschichte, das noch immer täglich neu geschrieben wird. 🙂

image