網絡瀏覽器標簽的演進史
國外媒體近日刊載文章,介紹了網絡瀏覽器引擎渲染功能的發展和各大瀏覽器公司演進的歷史。以下是這篇文章的全文。
你用來閱讀這篇文章的網絡瀏覽器很可能是一個小小的工程奇跡。它可以被分解成許多具體的組成部分——一個URL地址欄、一整套書簽、很可能還有一個內置視頻播放器,諸如此類。但是,最重要的組成部分則是隱藏的,也就是所謂的“渲染引擎”。網絡瀏覽器用“渲染引擎”吸收HTML(超文本標記語言,是用于描述網頁文檔的一種標記語言,也就是用戶訪問一個特定的互聯網地址時所下載的不可見的代碼流),將其轉換為可見的網頁,然后在設備的顯示屏上顯示出來。如果沒有渲染引擎,那么其他任何東西都將變得不再有意義,因為正是渲染引擎決定了我們所能感知到的網絡的形態。
在4月3日,也就是距離谷歌(微博)發布其網絡瀏覽器Chrome——按某些標準衡量,現在這個瀏覽器已經成為全球最流行的桌面瀏覽器——快四年半之際,谷歌宣布未來版本的Chrome瀏覽器將從流行的渲染引擎WebKit轉向一種名為“Blink”的最新定制化引擎。WebKit為蘋果Safari及大多數流行的移動瀏覽器提供支持,并以此聞名。就目前而言,Blink仍舊幾乎可以說是WebKit的翻版(這不能說是侵權,因為WebKit的代碼是開源的);但在不久的將來,谷歌的團隊將會對這種渲染引擎進行改良,使其變成一種新的、輕量級的引擎,擁有速度快、效率高、穩定性強和功能豐富等特點。對谷歌來說,改用并改良Blink引擎可促進Chrome瀏覽器更好地在新環境下進行整合,如Android智能手機及其最新的谷歌眼鏡可穿戴計算設備等。預計Blink將從今年6月份開始為Chrome瀏覽器提供支持。
Blink遠非第一個從其他渲染引擎的“軀殼”中脫胎而出的瀏覽器引擎。Mozilla的火狐瀏覽器目前是全球范圍內人氣度第三高的瀏覽器,其Gecko引擎的源頭可以回溯至網景導航者(Netscape Navigator,也稱“網景領航員”)。網景導航者最初是在1994年底推出的,曾是世界上最流行的瀏覽器。
在1994年夏末的一個晚上,身為網景創始工程師之一的Lou Montulli非正式地與同事談起Lynx(這是他在幾年以前開發的僅支持文本的瀏覽器)與即將問世的網景導航者瀏覽器的復雜網絡界面之間的巨大差距。他當時指出,Lynx在文本方面唯一能做的令人感興趣的事情就是在顯示屏上閃動字符。到Montulli次日醒來時,另一名開發者就已經在網景導航者中加入了這種功能,這種功能可通過在網頁的源代碼中編寫標簽的方式觸發。時至今日,Montulli被廣泛認為是標簽的創造者,但他固執地聲稱自己從來都沒有倡導過創造這個標簽,更不要說為其編寫任何基本代碼了。
從表面上看來,這種新的標簽跟用來渲染粗體字或斜體字的和標簽是同類的,但實際上標簽從來都沒有作為HTML的官方認可功能而被標準化。這種標簽所創造出來的閃動文本令人感到不快——后來甚至有人擔心這種閃動文本可能會觸發癲癇——這也就是為何設計人員迅速而心懷敵意地對其提出批評的原因所在。在瀏覽器中,標簽網頁同樣沒有得到廣泛的支持:微軟IE瀏覽器從來都沒有正式支持過標簽。但是,被證明是一種簡便的、流行的動畫格式。在二十世紀九十年代中期,也就是網景處于全盛期的時代里,業余編碼員和出版商紛紛涌向Geocities和AngelFire等大型網絡社區,這些社區構建了最原始的社交網絡;與Facebook后來所創建的社交網絡相比,Facebook擁有相對穩定的“無菌環境”,而這些原始的社交網絡則幾乎是完全可編輯和可定制化的,人們只需通過粗糙的HTML代碼就能做到這一點。由于當時保持互聯網干凈清爽和可閱讀性的相關規則和最佳實踐都還沒有建立起來的緣故,開發者和出版商傾向于隨意而胡亂地部署標簽,其結果是可怕的,無論使用哪種瀏覽器來瀏覽都是如此。
AOL在1998年收購了網景,前者試圖通過這項收購交易來控制自己的瀏覽器,與微軟IE瀏覽器展開競爭。在此以前,IE瀏覽器就已經開始與Windows操作系統進行緊密的整合,從而使微軟在瀏覽器市場上占據了壓倒性的份額,同時也給這家公司帶來了一場歷史性的反壟斷訴訟。隨著網景導航者所占市場份額的大幅下降,AOL所關注的優先任務發生了轉變,并最終開放了其核心源代碼,這就意味著這些源代碼可被自由共享、復制和用于其他項目。
在2002年,IE在瀏覽器市場上所占份額達到了最高點,達到95%這一令人瞠目結舌的水平。在那時,IE瀏覽器的三叉戟(Trident)渲染引擎一直都在以極快的速度增長,但這種渲染引擎存在Bug,如有時候會出現假想線,某些圖片不能正確顯示,以及頁面布局崩潰等。當時設計人員會假設這些Bug將會存在,并按照這種假設來為其網站編寫代碼;其他瀏覽器雖然運行良好,但卻被置之不理。同年,一些前網景員工決定利用網景導航者的開源代碼開發一種新的輕量級瀏覽器,這個瀏覽器最早被命名為Phoenix,隨后更名為Firebird,最后定名為火狐(FIrefox)。火狐的出現,令一度沉寂的瀏覽器“戰爭”重新點燃了戰火。與此同時,標簽的代碼基原封不動的仍舊保存了下來。
幾年以后,IE瀏覽器在網絡瀏覽器市場上占據的壟斷性控制地位不復存在。在2005年,蘋果公開了為其Safari瀏覽器提供支持的WebKit渲染引擎的源代碼,這種瀏覽器主要用于其iPhone智能手機和iPad平板電腦。隨后,許多基于WebKit的瀏覽器開始浮出水面,尤其是在手機上的移動瀏覽器,如谷歌Android手機等,這些瀏覽器基本上都不支持標簽。
Web 2.0時代(以照片共享網站Flickr和YouTube為等網站為特征)以及在線應用(這種應用的運行與電腦本地應用類似,不過是在網絡瀏覽器內部運行的)的崛起教會了谷歌一件事情,即該公司能以新的方式去挖掘有關用戶資料的數據。在2008年底,谷歌可能覺得有必要取得控制權(就像AOL在將近十年以前收購網景那樣),因此宣布該公司將推出自己的網絡瀏覽器,為其提供一個可靠的平臺,使其能在這個平臺上運行自己的網絡應用,而不用去管蘋果、Mozilla和微軟可能決定對其各自的瀏覽器做些什么。當時谷歌宣布推出的瀏覽器就是Chrome,以WebKit為基礎。
谷歌最近宣布Chrome將轉向使用Blink渲染引擎之舉意味著,該公司切斷了在2008年發布這種瀏覽器時承諾將向網絡開發者伸出的“橄欖枝”。現在,網絡開發者需要用另一種渲染引擎來對自己的網站進行測試。不過,有一種觀點認為,這種轉變是有利的:WebKit現在已經被廣泛使用,尤其是在移動設備上被廣泛使用,就跟IE6在十年以前占據市場主導地位,從而導致網絡無論從外觀上還是從感覺上都幾乎失去了真正的創新動力。“從基本上來說,擁有多種渲染引擎——就像市場上存在多種瀏覽器那樣——將會促進創新,確保開放式網絡的長期健康性。”谷歌的產品經理亞歷克斯·科莫羅斯克(Alex Komoroske)說道。
科莫羅斯克對Blink這一名稱作出解釋稱,這個名字能“喚起速度和簡約的感覺,符合我們建立快速簡約架構的目標。另外,我們的傳統是采用帶有反諷意味的名稱。我們當然知道,互聯網的早期時代曾有過 標簽;但正如Chrome是為了最小化瀏覽器的外框(chrome) ,而Chromebook Pixel則是為了讓人們根本看不到像素(pixel)那樣,Blink也永遠都不會支持標簽”。
Opera瀏覽器的開發商最近宣布,該公司也有意將其旗艦桌面瀏覽器的渲染引擎從WebKit改為Blink。這是個非常重大的消息,因為Opera目前使用一種非常特別的WebBit變種,其配置允許支持標簽。
由于標簽不會在Blink中“閃動”的緣故,火狐將成為唯一存留的仍舊允許文本使用標簽的瀏覽器。在混亂的互聯網技術世界里,這是一個明顯的信號,表明人們有理由認為現在已經到了標簽該要“退休”的時候。
在谷歌宣布推出Chrome和Blink相關計劃的幾個小時以后,Mozilla日本的國際化團隊經理Masayuki Nakano在該公司的內部Bug系統中提出建議稱,火狐也應該這樣做。在進行了幾輪討論以后,Nakano工作了一整天,對火狐瀏覽器的代碼進行了必要的修改,并在4月14日提交了自己修改后的版本。從第23個版本的火狐瀏覽器開始,Mozilla的內部渲染引擎Gecko將不再支持標簽。
火狐特意取消支持標簽之舉標志著今天的瀏覽器將與歷史劃清界限,意味著曾在最早的時候一度流行的網絡動畫將就此終結,被今天的流傳輸視頻和富有幽默感的GIF圖片所取代。對于那些喜歡懷舊的互聯網用戶來說,這種變化所帶來的可能會是苦樂參半的感覺,但基本上來說還是趨于好的方向:標簽確實夠煩人的,根本就不應該繼續存在下去。
雖然多年以來設計人員們都已不再使用標簽,但這種標簽一旦完全消失仍舊會令人感到不安。出于懷念歷史的目的,互聯網檔案館(Internet Archiv)的“網站時光倒流機”(Wayback Machine)等網站存儲著許多網站以前的版本,有些網站能一直回溯至二十世紀九十年代中期時的版本;不過,不久以后或許就不可能再看到這些網站在那時的真正模樣了。個人主頁服務網站GeoCities已經在2009年關閉,但由于這個網站是早期互聯網的重要組成部分,因此許多主頁網站的內容仍可通過P2P文件共享網絡上一個640GB的檔案文件獲取。
公平的說,標簽的文化價值有待商榷。JavaScript編程語言的創造者、現任Mozilla首席技術官的布蘭登·艾奇(Brendan Eich)對這種標簽的評價就不是很高:“它是一種‘有吸引力的討厭東西’,是一個時代的警世故事。在那個時代里,瀏覽器市場份額處于不平衡的狀態;如果沒有一種標準的程序,那么輕率的創新可能會成為實際上的要求。”
暫時而言,稍早版本的火狐和Opera瀏覽器可能仍將渲染所有那些檔案網站;但是,古老的瀏覽器只能基于古老的操作系統運行,古老的操作系統只能安裝在古老的計算機上,而古老的計算機最終將會被淘汰。一旦規模經濟的退化令廠商繼續生產特定的芯片或組件變得不再具有經濟上的可行性,那么構成互聯網歷史的那些信息就將永遠離我們而去。
不管如何,即使谷歌最近的瀏覽器開發和更加廣泛的戰略決定所帶來的“涓滴效應”很可能將在不久以后讓我們喪失懷舊的能力,導致我們無法再憑吊互聯網早期歷史上的一個關鍵階段,但網景的標簽畢竟也存在了快二十年。當然,如果你縱覽我們這個社會所創造的所有文化和技術,那么二十年時間也只不過是眨眼之間就飛逝而過罷了。