小文:淺談瀏覽器發展簡史

隨着各大瀏覽器對 HTML5 新特性的支持,網頁對圖形以及多媒體方面能力空前加強。隨之而來的網絡優化,更是讓愈來愈多的『跨界應用』思考如何來開墾 Web 平臺。Jeff Atwood 曾經說過:Any application that can be written in JavaScript, will eventually be written in JavaScript. 若是沒有瀏覽器對 JavaScript 的支持,這些都是無稽之談。但你知道嗎?瀏覽器並不是生來就這麼強大和友好。今天,咱們就來簡單地聊聊主流瀏覽器的發展吧。瀏覽器

1、世界上第一個瀏覽器

提到瀏覽器,就不得不提 Tim Berners-Lee, 他是 W3C 組織 的理事,並在 1990 年左右發明了 WorldWideWeb瀏覽器,後來爲了不和 World Wide Web 命名衝突而改叫 Nexus。這時瀏覽器的功能很簡單,只支持文本、簡單的樣式表和有限格式的圖片和聲音。因此,那時的網頁也很簡單,承載的信息大多以文本爲主。網絡

圖片

2、第一次瀏覽器大戰

1993 年,網景公司。Marc Andreessen 領導的團隊推出了 Mosaic瀏覽器 ,然後又更名爲 Netscape瀏覽器。一經推出,便大受歡迎,能夠說是第一款真正意義上被用戶普遍使用的瀏覽器。雖然說如此,它所支持的功能也是特別有限,沒有 CSS,沒有 JavaScript,只能顯示一些簡單的 HTML 標籤,更別說如今這些豐富的 HTML5 的功能了。但也知足了那個時代上網用戶的需求,同時也取得了可觀的市場份額。app

然而,好景不長。1995 年,微軟公司看到 Netscape瀏覽器 如此的受歡迎,就順勢推出 Internet Explorer瀏覽器(IE),並與自家的 Windows 操做系統強制捆綁。很快取得了更高的市場份額,得到了空前的成功,把 Netscape瀏覽器 擠出了市場直至消亡。自此,第一次瀏覽器大戰,以 IE 大獲全勝而了結。ide

3、第二次瀏覽器大戰

前文說到,因爲微軟推出的 IE 的影響, 網景公司的 Netscape 每況日下。但網景公司並無坐以待斃,在 1998 年 成立了 Mozilla 基金會,並準備開發新的瀏覽器 。性能

2003 年,蘋果公司搭配自家的 Mac OS X Panther 推出了 Safari瀏覽器,受限於 Mac 的用戶量,Safari 並未產生多大的影響;2005 年,蘋果開源了 Safari 的內核(渲染引擎)—— 大名鼎鼎的 Webkit,意義之重大,不言而喻。優化

2004 年,網景公司發佈了全新的瀏覽器 Firefox,並搭配了 Gecko 內核。它功能豐富,支持用戶拓展,一推出就深受你們喜好,市場份額也穩步上升。ui

2008 年,Google 公司以蘋果的開源項目 Webkit 做爲內核,建立了一個全新的項目 Chromium瀏覽器。它被谷歌拿來作 Web 技術試驗場,嘗試一些大膽創新的技術。同年,推出了面向用戶的瀏覽器 —— Chrome,它會選擇 Chromium 的穩定版本爲基礎,集成一些私有的編碼解碼器。或許你會疑惑,既然推出了 Chromium,爲何還要推出 Chrome?其實很簡單,Chromium 是面向開發者玩的,Chrome 是選取 Chromium 的穩定版面向普通大衆的,兩者並不衝突。編碼

期間還有其餘公司也推出了瀏覽器,相較而言,不過重要,故再也不贅述。市面上那麼多瀏覽器,而且內核(渲染引擎)也不同:IE 的內核是 Trident; 火狐是 Gecko;Safari 和 Chrome 是 Webkit。這就會致使同一個網頁在不一樣的瀏覽器下訪問,會出現不一樣的展現效果;而且不一樣的瀏覽器對新技術的支持力度也不同。因此,公司會根據用戶瀏覽器的不一樣而返回不一樣的網頁內容,那它是如何鑑別用戶瀏覽器的呢?答案就是 User-Agent。spa

Firefox 設置了本身的 User-Agent,假如就叫 { User-Agent: "firefox" },當開發者知道你是 Firefox 時,就會給你返回新頁面(由於火狐瀏覽器能夠支持不少新特性),其餘瀏覽器就會返回老頁面。IE 看到事後,也趕忙更新瀏覽器版本支持新特性,但仍然看到的是老頁面。這時,IE 不服了,憑什麼你給 Firefox 新頁面,給我老頁面啊?因而它便想到更新本身的 User-Agent,假如就叫 { User-Agent: "ie firefox" } ,當開發者發現 User-Agent 字段中有 firefox 時,一樣也會返回新頁面了,這是 IE 想要的結果。操作系統

沒想到的是,Google 和 蘋果公司也一樣效仿,依次往復,致使各家瀏覽器的 User-Agent 字段愈來愈冗長。不信的話,你打開瀏覽器的控制檯,在 Network 下查看請求的 Request Headers ,裏面有 User-Agent 字段。我目前用瀏覽器是 Google Chrome [ Version 70.0.3538.102 (Official Build) (64-bit) ],它的 User-Agent 字段是:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36
複製代碼

自此,微軟 IE 依靠 Windows 系統依然佔據重要地位,Mozilla 火狐 和 Google Chrome 兩者也擁有大量粉絲,逐步讒食 IE 的市場份額,造成三足鼎立之勢。

第4、2010 ~ 如今

2010 年,蘋果宣佈了 Webkit2 ,改成多進程的結構模型。

2013 年,Google 和 蘋果 出現了對內核發展的分歧。因而 4 月份,Google 宣佈了全新的內核項目 —— Blink。該內核早期是徹底複製了 Webkit ,以後刪除了與 Chromium 無關的代碼,並開始大刀闊斧地對內核進行改革。

2015 年,隨着 Windows 10 的發佈,微軟公司宣佈了全新的瀏覽器 —— Microsoft Edge,用來取代 IE 瀏覽器,一代王者逐步退出舞臺。

2017 年,Mozilla 宣佈了爲 Firefox 全新的打造的 Quantum 版本,號稱新時代的最快瀏覽器。

目前爲止,Google Chrome 以絕對的優點遠遠領先於其餘瀏覽器,而且對 Web 技術 依然充滿熱情,以優秀的特性和性能吸引了絕大部分開發者。

第5、結尾

寫這篇文章的初衷是對各家瀏覽器及其內核的迷惑,就想把它們的前因後果理清楚。但願它能對你有些幫助,若是發現有不正確的地方,歡迎指正。

相關文章
相關標籤/搜索