[消息] Apple的保密計畫 —— 隱姓埋名的Safari。 - iPhone4.TW

會員登入



顯示結果從 1 到 1 共計 1 條
  1. #1
    kouko.d 的頭像

     白蘋果急救室

    註冊日期:11-26-2011
    文章:257
    謝謝你: 0
    在 166篇文章中獲得 1,200個感謝
    消息來源
     白蘋果急救室 同文刊登...


    本文為「Keeping Safari a secret」一文之翻譯,原作者為曾負責Safari與WebKit計劃的前Apple工程師Don Melton。
    把Safari藏起來。
    Keeping Safari a secret.


    我們在研發Safari的大部份時間裡,它一直假裝成Microsoft Internet Explorer。明確地說,是假裝成從1998年開始預裝在作業系統內的Internet Explorer for Mac。而在Safari正式公開前的六個月,它開始假裝成Mozilla瀏覽器。

    為何我們會這樣做?同時,在Safari的代碼與行為與這些瀏覽器如此不同的情形下,我們是如何讓Safari偽裝成這些瀏覽器的?
    我除了被Scott Forstall指派建立一個團隊並打造瀏覽器之外,同時也要讓這該死的專案保密。順道一提,在建立原始開發團隊的時候,因為直到有人正式接下工作之前,我不能透露任何的工作內容,讓這整件事真是麻煩到爆了。這關係到你的管理能力,不過這又是另一段故事了。
    總之,就是保密。我們並沒有像Jony Ive的設計團隊,或是幾年之後的iPhone團隊那樣的物理性封鎖。不過除非你真的知道要找誰,不然你在園區裡面是找不到我們的。就算找到了人,你也不會知道我們在幹嘛。除非你剛好抓到我們正在跑Safari —— 不過我們通常都會先把辦公室門給關好。
    再說,我也不擔心有人說出去。Forstall當然信任我們,這也是之所以他是個好老板的眾多原因之一。我也信任我的團隊,要不然我壓根不會僱用他們。我們的團隊,以及Apple內部的beta測試人員也不會跑出去告密。雖然測試人員少的要命,不過也不能怪他們。
    當時Twitter與Facebook也還不存在,Apple裡也沒人蠢到會把工作內容寫在部落格上。所以,那我要擔心啥玩意?
    伺服器紀錄 —— 這玩意把我嚇得要死。
    當Web瀏覽器從Web Server讀取頁面的時候,瀏覽器會用使用者代理字串(user agent string)向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就會從它被隱藏的光芒中自豪地展現出它真正的樣子。
    而在它正式發表之前,我每天就在緊張、失眠以及四處搜尋網路上的伺服器紀錄中度過。
    via Keeping Safari a secret



 

 

相似的主題

  1. [消息] Safari的命名故事——當我第一次聽到「Safari」的時候。
    由kouko.d論壇中iPhone 最新消息
    回覆: 4
    最後發表: 12-21-2012, 17:51
  2. [消息] iPad的好幫手——保護套+鍵盤+屏蓋
    由lanaMacsween論壇中流行時尚
    回覆: 36
    最後發表: 11-07-2012, 20:01
  3. 回覆: 65
    最後發表: 09-01-2012, 06:25
  4. 回覆: 0
    最後發表: 10-18-2010, 10:44

發文規則

  • 不可以發表新主題
  • 不可以發表回覆
  • 不可以上傳附件
  • 不可以編輯自己的文章
  •  
回到此頁頂端