苹果曾为保密将研发中的 Safari 伪装成 Mozilla
最近闲来无聊的苹果退休工程师 Don Melton 似乎爱上了写博客,开始在个人博客上记录他所知道那些关于苹果 Safari 浏览器的故事。继上次聊过 Safari 浏览器的命名趣闻之后,Melton 又开始聊起了苹果为了确保 Safari 浏览器研发项目的绝密性花费的那些心思……
最近闲来无聊的苹果退休工程师 Don Melton 似乎爱上了写博客,开始在个人博客上记录他所知道那些关于苹果 Safari 浏览器的故事。继上次聊过 Safari 浏览器的命名趣闻之后,Melton 又开始聊起了苹果为了确保 Safari 浏览器研发项目的绝密性花费的那些心思……
在苹果拥有属于他们自己的浏览器之前,Mac 用户名不得不选择依赖蹩脚的 Internet Explorer for Mac 在互联网上冲浪。而对于当时的苹果公司首席执行官史蒂夫·乔布斯(Steve Jobs)来说,研发他们自己的网页浏览器来帮助普及 Mac 是非常迫切的。
当然对于苹果的公司理念和特质来说,浏览器项目是需要绝对保密的,甚至连大部分苹果员工都不知道公司正在研发自己的浏览器。虽然那时候还没有当下流行的社交网络,苹果也禁止员工在博客上讨论关于公司及产品的任何信息,但是浏览器研发过程中的保密工作仍然是相当困难的,其中最大的敌人便是——服务器日志。因为开发小组的成员们需要不停地对尚未问世的浏览器进行测试,但是服务器日志会如实的记录到 Safari 浏览器的访问痕迹,从而让苹果这份绝密的项目提前曝光……
当网页浏览器访问服务器端的页面时,浏览器会通过一串用户代理字符串来让服务器进行识别,包括名称、版本、平台等等信息。同时,浏览器还会传递给服务器一个 IP 地址,以便让服务器知道将页面返回到哪里。如此一来服务器就能知道用户在哪里、使用什么浏览器对它进行了访问。
Melton 还提到,早在1990年左右一些有前瞻性的 IT 人士为苹果保留了一个完整的A类网段的 IP 地址段(没错,苹果拥有15777216个静态 IP 地址),而这些 IP 地址都以相同的数字打头,也就是17。IP 地址 17.149.160.49 属于苹果,17.1.2.3 也属于苹果,17.18.19.20 也属于苹果,17.253.254.255 还是属于苹果……
因此为了保密工作的顺利进行,当时的 Safari 浏览器工程师在苹果公司设计、研发、测试它的时候都会巧妙地将 Safari 浏览器的用户代理信息伪装成 Mozilla 浏览器,而他们这么干了有6个月之久!同时,这也解释了为什么 Safari 浏览器的用户代理字符串中会有那么多属于其他浏览器引擎的额外信息,比如 KHTML、Gecko 等等。
直到10年前面世(2003年1月7日)的前几天,Safari 才慢慢的将属于它自己的用户代理信息展现出来,骄傲的宣称了它的存在!