瀏覽器的輝煌發展史
眾所周知,自打Windows自帶Edge瀏覽器之后,使用體驗感人肺腑,甚至在微軟Azure發布會的時候工程師被迫當中安裝Chrome。

去年年末的時候,一則關于瀏覽器的消息更是真讓人哭笑不得:微軟表示,新的Edge瀏覽器將從Edge HTML內核遷移為Chromium和Blink內核,同時還會登陸到Windows7、8和MacOS平臺。

從2018年9月的市場份額來看,Chrome也是穩坐老大寶座,不得不說,Google牛逼。那么圍繞著“瀏覽器”又有哪些曲折的故事呢?今天就一起來看看吧。
追根溯源
正如以前所說,1991年8月,Berners·Lee發明了WorldWideWeb萬維網,同時也帶來了世上***款瀏覽器。但是這名字這么長,老Lee索性把它改名為“Nexus”(連接)了。

得益于兼容Unix和Microsoft DOS,當年它可是***的瀏覽器(畢竟是爺爺級別的)。但是它有個致命的缺點——只能顯示文字,不支持圖片顯示。
畫家CharisTsevis作品
正所謂“有圖有真相”,圖片都不支持的顯示器注定要被代替,就在1993年,伊利諾大學的NCSA組織發明了***款能顯示圖片的瀏覽器——“Mosaic”(馬賽克)。

那么問題來了,有的人用Nexus、有的人用Mosaic,那么html的提供者怎么寫代碼呢?UserAgent(用戶代理)就由此誕生了,它可以標注上網請求者是什么瀏覽器、系統,讓服務器知道該發送什么樣的信息,帶不帶圖片。比如Mosaic就把自己標注為了“NCSA_Mosaic/2.0(Windows 3.1)”。
很快又走出來一個攪局者,叫Mozilla。這名字倒是一語雙關了,有著Godzilla(哥斯拉)的征服欲,又有著Mosaic Milla(馬賽克終結者)的挑戰宣言。但是這個名字戾氣太重了,因市場取向問題,他們選擇改名:
Mozilla項目組推出了一款革命性的瀏覽器,一舉成為新霸主,它就是1994年的Netscape Navigator(網景航海家)。雖然名字改了,但是開發代碼和UserAgent依然是Mozilla,真不愧是“寫作Netscape,讀作Mozilla”。

網景***支持html框架顯示,讓網頁開始有簡單的table布局,支持內外邊距設置,給了上網者更好的視覺體驗。但是這個寶座就和燙手的山芋一樣,一直坐不久,對啥事都不會坐視不理的微軟,這次也要動手了。
1995年微軟發布了一款和系統捆綁的瀏覽器——Internet Explorer(互聯網探險家),簡稱IE。問題是,當時的服務器只會給UserAgent包含“Mozilla”的瀏覽器發送含框架的頁面,微軟作為全新的瀏覽器,不支持豈不是落后了?

于是IE直接就把自己的UserAgent改成了“Mozilla/1,22(compatible;MSIE 2.0; Windows 95)”,想兼容多簡單啊。系統本身都自帶(捆綁)瀏覽器了,第三方能用的功能我也都有,微軟先天優勢,用戶們可不想再花錢買網景瀏覽器來裝,所以網景輕而易舉被擊敗了。
1995年同期,一家挪威的公司也推出了一款瀏覽器,為以后標簽式瀏覽器奠定了基礎,它就是Opera(歌劇)。它支持單窗口多文檔閱讀,用戶不必再一下子點開一堆窗口,清爽多了。

1998年1月,逐漸低落的網景為了挽回一切,他們表示旗下所有軟件以后全都免費了,還開放了網景瀏覽器的源代碼,圍繞著瀏覽器排版引擎Gecko(壁虎),他們成立了非正式組織Mozilla,從此成為了更高次元的存在。
他們打算卷土重來,開發更先進的瀏覽器,能夠支持插件拓展、開發調試。那么新的瀏覽器叫啥好呢?既然是復活而來、浴火重生的,不如叫Phoenix(鳳凰)吧?
結果剛推出就被人告了,因為一家公司叫“鳳凰科技”,重名了我淦!那干脆叫FireBird(火鳥)?不行、也有公司注冊了。***他們退而求其次,選擇了FireFox(火狐)這個名字。

Windows這邊打的飛起,也別忽略了旁邊的Linux,它也需要一個瀏覽器呀。隔壁有了Navigator航海家、Explorer探險家,自己至少氣勢上不能輸,干脆就叫Konqueror(征服者)吧。

它于1996年發布,使用的是KHTML排版引擎,但是服務商都對用了Gecko的Firefox做了排版優化,而我沒有怎么辦?老樣子,往UserAgent里加呀!
于是Konqueror的UserAgent就成了“Mozilla/5.0(compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)”,像Gecko可還行,從此“Like Gecko”也變成了一個行內皆知的萌詞。

雖然這是個好辦法,但是誰都給自己的UserAgent加戲,注定越來越混亂。后來Opera甚至直接在菜單里加了三種UserAgent,一種是IE的、一種是火狐的、一種自己的,用戶可以自行選擇,如此一來反倒更方便了。

最喜歡的LOGO,太美了
幾年間IE雖然獨霸、但不思進取,自己搞一套web標準,還不能***支持html、javascript、css等新特性,一直維持著速度慢、體驗差、不穩定的特點,讓人不得不想要找個更好的替代品。
2008年Google旗下的瀏覽器Chrome閃亮登場,格局改變了。它界面簡潔、UI明了、速度奇快、安全穩定,逼得IE節節敗退、開始不斷更新。

但是IE已經太老了,無法適應越來越高的Web技術,于是2015年,Edge瀏覽器懷著救國之心誕生了,但是它究竟有沒有實現微軟的理想呢?相信大家早就有了答案。

內核所在
了解完瀏覽器的歷史,那什么是瀏覽器的內核呢?所謂內核其實指的是Rendering Engine(渲染引擎)。它決定了瀏覽器如何顯示網頁內容沒不同的內核顯示的內容、排版、特效支持等也都不盡相同。

從歷史上了來看,最早是97年在IE4中的Trident內核,是微軟在Mosaic代碼的基礎上修改而來,血脈一直延續到了IE11。KHTML用于Konqueror,Gecko用于FireFox,Mozilla后來又和三星一起搞出來個Servo內核。Presto用于早期的Opera(現改為谷歌Blink),Chromium用于谷歌Chrome,不過如今的Chrome瀏覽器已經使用了和Opera一起開發的的Blink引擎。

其中Webkit是蘋果公司研發的瀏覽器內核,被用于知名的Safari瀏覽器,其UserAgent為“Mozilla/5.0(Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko)Safari/85.5”。

等等,怎么里面還有“KHTML和likeGecko”?因為Webkit內核包含的WebCore排版引擎是由KHTML衍生而來,所以這是一種無法舍棄的血統,自然也就留在了其中。

比較意外的是,作為7年后登場的Chrome瀏覽器UserAgent中居然有“Safari”字樣出現,要知道Chromium內核是基于WebKit的,所以說你懂的,看來蘋果對“高速上網”貢獻很大。
國產論劍
眾所周知,從Chrome瀏覽器火了之后,國內也涌現了一大票的國產瀏覽器,這里不得不提谷歌一直堅持的開放開源了。
Chromium內核安全、穩定、高速,如果和谷歌自家瀏覽器捆綁也無可厚非,大不了收費賣給別家授權使用也有盈利,但是谷歌并沒有這么做,而是支持大家都免費來用我家的瀏覽器,大家一起收集用戶遇到的問題,不斷改進瀏覽器,一起開拓未來。

目前國內的360極速瀏覽器、QQ瀏覽器、搜狗高速瀏覽器、世界之窗極速版、楓樹瀏覽器、太陽花瀏覽器等等,包括后來的紅芯瀏覽器官方也承認自己的Redcore內核是基于Chromium/Bnk的。
這里也要提到剛剛未提的2010年誕生的雙核瀏覽器了。由于國內網絡環境特殊,網銀、驗證什么的各種東西都對IE比較友好,但又想要WebKit的上網速度怎么辦呢?于是乎,國內瀏覽器干脆自帶多種引擎,把微軟那套挪過來叫“兼容模式”,然后其他類似Chromium的引擎稱作“高速模式”,用戶可以隨時切換。