Safari: Bemühungen um Geheimhaltung während der Entwicklung
Stefan Keller, den 4. Januar 2013Fast auf den Tag genau 10 Jahre ist es her, dass Safari auf der Macworld 2003 vorgestellt wurde. Der damalige Projekt-Leiter Don Melton hat anlässlich des bevorstehenden Jubiläums aus dem Nähkästchen geplaudert, wie kompliziert es war, den Apple-Browser im Vorfeld vor der Öffentlichkeit zu verstecken.
Bei Apple ist es schon immer Tradition gewesen, dass neue Projekte möglichst geheim gehalten werden. In der guten, alten Zeit, bevor Twitter und Facebook erfunden wurden, war das noch ein wenig einfacher. Aber eine Sache hatte Don Melton damals doch beschäftigt: Wie kann man einen Internet-Browser vor den Server-Logs der Webseitenbetreiber verstecken?
Bei der Entwicklung eines Internet-Browsers ist zu beachten, dass eine Reihe von ungünstigen Zufällen aufeinandertreffen, wenn man ihn geheim halten möchte. So übertragt ein Browser auf jeden Fall seine Kennung („User-Agent“), seine IP-Adresse und seine eigentliche Anfrage an den Webserver. Während man die Browserkennung noch relativ einfach manipulieren kann, ist dies bei der IP-Adresse eher weniger vorteilhaft. Der Server sendet die Antworten dann an einen falschen Computer und dann kann man den Browser auch nicht ausprobieren. Etwas ungünstig ist dann, wenn man einen gesamten IP-Block zugeteilt bekommt. Laut Melton besitzt Apple sämtliche IPv4-Adressen, die mit 17 beginnen.
Bevor Safari der Standard-Browser in Mac OS X wurde, kümmerte sich Microsoft um das weltweite Netz auf dem Mac. Also lag es nah, sich per Browserkennung zu Beginn als Internet Explorer für Mac auszugeben. Spätestens anhand der IP-Adresse hätte sich andernfalls erkennen lassen, dass Apple an etwas arbeitet, das am Ende vielleicht ein Browser werden könnte. Damit niemand vergisst, die Browserkennung zu ändern, baute Melton extra einen Hack ein, der von der eigenen IP abhängig machte, ob sich Safari mit seiner echten Identität oder seinem alter ego zu Wort meldet. Zu Hause durfte Safari dann so heißen, wie es später normal sein sollte.
Diese Tests, außerhalb des Apple-Campus, waren laut Melton auch dringend notwendig, um die Kompatibilität zu verbessern. Manche Webseiten liefern einen anderen Quellcode aus, wenn man mit einem bestimmten Browser unterwegs ist, um Bugs in den Render-Engines zu umgehen. Um die maximale Browser-Kompatibilität zu erreichen, hat Melton zudem noch „KHTML, like Gecko“ in die Browserkennung einfügen lassen. So wurde auch der Linux-Browser Konqueror und die Mozilla-basierten Browser erwähnt.