当前位置:主页 > 平板移动 >Apple的保密计画——隐姓埋名的Safari >

Apple的保密计画——隐姓埋名的Safari

来源:平板移动 时间:2020-06-06 指数:531

Apple的保密计画——隐姓埋名的Safari

我们在研发 Safari 的大部份时间里,它一直假装成 Microsoft Internet Explorer。明确地说,是假装成从 1998 年开始预装在作业系统内的 Internet Explorer for Mac。而在 Safari 正式公开前的六个月,它开始假装成 Mozilla 浏览器。

为何我们会这样做?同时,在 Safari 的程式码与行为与这些浏览器如此不同的情形下,我们是如何让 S afari 伪装成这些浏览器的?

我除了被 Scott Forstall 指派建立一个团队并打造浏览器之外,同时也要让这该死的专案保密。顺道一提,在建立原始开发团队的时候,因为直到有人正式接下工作之前,我不能透露任何的工作内容,让这整件事真是麻烦到爆了。这关係到你的管理能力,不过这又是另一段故事了。

总之,就是保密。我们并没有像 Jony Ive 的设计团队,或是几年之后的 iPhone 团队那样的物理性封锁。不过除非你真的知道要找谁,不然你在园区里面是找不到我们的。就算找到了人,你也不会知道我们在干嘛。除非你刚好抓到我们正在跑 Safari——不过我们通常都会先把办公室门给关好。

再说,我也不担心有人说出去。Forstall 当然信任我们,这也是之所以他是个好老板的众多原因之一。我也信任我的团队,要不然我压根不会僱用他们。我们的团队,以及 Apple 内部的 beta 测试人员也不会跑出去告密。虽然测试人员少的要命,不过也不能怪他们。

当时 Twitter 与 Facebook 也还不存在,Apple 里也没人蠢到会把工作内容写在部落格上。所以,那我要担心啥玩意?

伺服器纪录 —— 这玩意把我吓得要死。

当 Web 浏览器从 web server 读取页面的时候,浏览器会用使用者代理字串向 server 表明自己的身份,基本上就是名称、版本、平台等讯息。同时浏览器也会将 IP 位址传送给 server,好让 server 知道该把页面传回去哪里。这种沟通机制除了让 Web 能够运作之外,同时也可以让 server 知道是谁在用哪个浏览器,还有使用者的位置。

说到这边,大家应该听得懂,对吧?不过接下来还有更多玩意⋯⋯

回到 1990 年左右,当时有某些超有远见的 IT 人帮 Apple 搞了整个 Class A 的 IP 位址。没错,Apple 有 16,777,216 个固定 IP 位址。而且,由于全部的 IP 都属于同一区——现在我们称为一个「/8 block」—— 每个 IP 的开头都是相同的数字。就 Apple 这个案例来看,这个数字是「17」。

IP 位址 17.149.160.49?这是 Apple。17.1.2.3?没错,就是 Apple。17.18.19.20?一样,也是 Apple。17.253.254.255?妈的!还是 Apple。

我完蛋了。

虽然我们在专案运作的时候就像 CIA 的秘密行动,有忠诚宣誓还有其他所有的套路,不过当在 Apple 园区网路内使用 Safari 的时候,我们不能够让 Safari 当「Safari」自己。要不然某个路边的 Web server 管理员可能会从记录档里的使用者代理字串与 IP 位址资料中发现其中的关联,于是 Steve Jobs 想在 2003 年 1 月 7 日的 Macworld 上揭开的惊喜就会这样死在路边。当然,很有可能我也会一起死在路边。

所以,每当在 Apple 的时候,我们会用我的巧妙设计把 Safari 的使用者代理字串藏起来。之所以说是「我的」,是因为这些在 Safari 与 Webkit 里的程式码就是我亲自设计,并且依然还在原始码里的玩意。感谢老天,我的工程团队已经移除,或是重新改写了所有我写的其他玩意。我僱了很多不错的人。

每当我们在 Apple 园区网路以外的地方,例如自己家的时候,我们会把 Safari 的使用者代理字串改回原本的样子。我们必须要这样做,以便进行完整的测试。这可以让我们调整字串,以便与当时的网站保有最大的相容性。这也解释了为何 Safari 的使用者代理字串有那幺多额外的资讯,例如 KHTML 的 Gecko,这个使用其他浏览器引擎的名字。

我们不能在正式推出 Safari 的时候禁用使用者代理字串,不过我们接下来做了个最棒的事 —— 在指定的日期让它自动启用。在十年前正式发表的那天,Safari 就会从它被隐藏的光芒中自豪地展现出它真正的样子。

而在它正式发表之前,我每天就在紧张、失眠以及四处搜寻网路上的伺服器纪录中度过。

相关文章:

本月排行

头条推荐

  • 联盟战棋懒人专用程式,装备种族羁绊让你不用背也不用上网查,让 联盟战棋懒人专用程式,装备种族羁绊让你不用背也不用上网查,让
  • 联盟战棋攻略:六贵族华而不实,这个阵容伤害最高 联盟战棋攻略:六贵族华而不实,这个阵容伤害最高
  • 联盟战棋新版本装备排行&深度解析 联盟战棋新版本装备排行&深度解析
  • 联盟战棋新版本:全体节奏加快,装备演算法改变,验证血统的时候 联盟战棋新版本:全体节奏加快,装备演算法改变,验证血统的时候
  • 联盟战棋新角色 逆命技能情报出炉 联盟战棋新角色 逆命技能情报出炉
  • 联盟战棋新预告44种装备,9种职业天生属性,15种种族加成 联盟战棋新预告44种装备,9种职业天生属性,15种种族加成
  • 联盟战棋日轮将被削弱!设计师认为盾盾流法师打破阵容平衡... 联盟战棋日轮将被削弱!设计师认为盾盾流法师打破阵容平衡...
  • 联盟战棋更新发布对运营流更友好,赌狗流即将成为历史? 联盟战棋更新发布对运营流更友好,赌狗流即将成为历史?
  • 新型技节科技|知识乐园|早报精彩|网站地图 易博网手机登录_万家博送366网址 宝马会网址_菲赢国际app苹果下载 AG众盈注册_合乐888手机客户端下载 金满堂官网_速8线路测速中心 8868体育网址_手机五子棋赢钱可提现 乐百家登录平台_博亿堂娱乐官方网站 188体育ios_bet十博体育app 凯撒皇宫游戏网址_ballbet988 8868体育网址_优德88官方网站开户 ylg网站大全_皇冠hga010客户端下载