繼"漢芯"事件造假之后,近期"紅芯"瀏覽器事件可謂炙手可熱?!旧钊肜斫鉃g覽器內(nèi)核】系列文章將會和大家一起來深入理解瀏覽器的內(nèi)核,揭開瀏覽器神秘的面紗。
科學(xué)研究很多情況下都需要大量的計算,從科學(xué)家的心算到開始借助外部工具實(shí)現(xiàn)計算。外部工具從最初的紙和筆、計算器、再到圖靈機(jī),發(fā)現(xiàn)還是無法滿足大規(guī)模的計算需求,因此需要一種計算能力更強(qiáng)的外部工具來實(shí)現(xiàn)科學(xué)計算,電子計算機(jī)在此背景下應(yīng)運(yùn)而生。
1946年誕生了世界上第一臺現(xiàn)代電子計算機(jī)ENIAC,該計算機(jī)相對于之前的計算設(shè)備來說計算速度提升了很多,但是造價非常昂貴、占地面積大、操作難度大等缺點(diǎn)。
隨著科學(xué)的不斷進(jìn)步,科學(xué)研究需要的計算能力越來越強(qiáng)。雖然一臺電子計算機(jī)的計算能力很強(qiáng),但還是十分有限,因此迫切需要多臺電子計算機(jī)的計算能力。如何讓多臺電子計算機(jī)協(xié)同工作,實(shí)現(xiàn)互聯(lián)互通,完成數(shù)據(jù)傳輸和共享,由此誕生了互聯(lián)網(wǎng)。將電子計算機(jī)連接起來,通過TCP/IP協(xié)議簇完成互聯(lián)互通,實(shí)現(xiàn)數(shù)據(jù)傳輸。
隨著硬件和軟件技術(shù)的不斷發(fā)展,電子計算機(jī)的計算速度越來越快,體積越來越小,尤其是引入桌面操作系統(tǒng)后,電子計算機(jī)的操作越來越便捷,電子計算機(jī)的功能也由最初的科學(xué)計算拓展為學(xué)習(xí)、娛樂等更多方面。此時電子計算機(jī)進(jìn)入了PC時代,即每個普通的用戶都可以使用電子計算機(jī)。隨著使用電子計算機(jī)的用戶不斷增加,互聯(lián)網(wǎng)上產(chǎn)生的信息資源也越來越多。如何讓互聯(lián)網(wǎng)上的用戶快速實(shí)現(xiàn)信息資源共享,便捷的訪問互聯(lián)網(wǎng)上的各種資源,由此誕生了萬維網(wǎng)WWW(World Wide Web)。
萬維網(wǎng)通過統(tǒng)一資源定位符URL來標(biāo)識互聯(lián)網(wǎng)上的每一個信息資源,借助HTTP協(xié)議完成互聯(lián)網(wǎng)信息資源的傳輸。萬維網(wǎng)將世界各地的信息資源連接在一起,編織了一張龐大的信息資源網(wǎng),我們?nèi)绾芜M(jìn)入這張網(wǎng),答案就是瀏覽器。
(Q1: 互聯(lián)網(wǎng)和萬維網(wǎng)的區(qū)別是什么?)
瀏覽器是萬維網(wǎng)的入口,是我們獲取互聯(lián)網(wǎng)信息資源的重要工具,因此各大廠商都推出了自己的瀏覽器,搶占互聯(lián)網(wǎng)信息的入口。日常生活中大家熟知的瀏覽器有微軟IE瀏覽器、谷歌瀏覽器、360瀏覽器、搜狗瀏覽器、QQ瀏覽器等眾多瀏覽器。
那么這些瀏覽器軟件是如何開發(fā)出來的呢?每個廠商都各自獨(dú)立完成開發(fā)嗎?平時聽說的雙核瀏覽器是什么意思?
瀏覽器簡單來說主要由內(nèi)核和插件組成。插件顧名思義就是基于內(nèi)核之上的一些擴(kuò)展功能,如360瀏覽器比較著名的12306搶票插件,常見的內(nèi)核有Gecko、Trident、WebKit、Blink等,且這些內(nèi)核大部分都是開源的,如WebKit。因此一般的瀏覽器開發(fā)都是基于現(xiàn)有的內(nèi)核來做二次開發(fā),增加一些擴(kuò)展功能。
平時大家所說的雙核瀏覽器指的就是這個瀏覽器有兩個內(nèi)核,如WebKit和Trident。為什么需要兩個內(nèi)核呢?大家平時在生活學(xué)習(xí)中會發(fā)現(xiàn),有些網(wǎng)站用微軟的IE瀏覽器訪問會正常顯示,但是如果用其他瀏覽器訪問的話,網(wǎng)頁就會錯位、顯示不全或無法顯示。這個現(xiàn)象表示當(dāng)前網(wǎng)站只支持微軟的內(nèi)核Trident,不支持其他內(nèi)核,因此多內(nèi)核瀏覽器可以實(shí)現(xiàn)更多網(wǎng)站的正常訪問,這個內(nèi)核顯示有問題,就換一個其他內(nèi)核。
(Q2: 同樣的HTML代碼,為什么不同的內(nèi)核顯示會有所差別呢?)