瀏覽器最核心的部分是“Rendering Engine”,即“渲染引擎”,我們一般叫做瀏覽器內核。它主要的功能是解釋網頁中的語法並渲染網頁。所以渲染引擎決定了瀏覽器如何顯示網頁內容以及頁面的格式信息。不同的瀏覽器內核對網頁語法的解釋不盡相同,這就導致了不同瀏覽器渲染出的網頁可能有一些差異。
比較出名的瀏覽器內核有以下幾種:KHTML、Trident、Gecko、Presto、Webkit、Blink。
Trident內核就是我們所熟知的IE瀏覽器的內核,該內核在IE4中首次采用,沿用到IE11,俗稱“IE內核”。一直到Windows XP時期,由於Windows的市場占有率非常高導致IE多年一家獨大,微軟長時間沒有更新Trident內核產生了不好的后果:一是Trident內核幾乎與W3C的標准脫節;二是Trident大量的Bug沒有得到及時解決帶來的安全問題等。很多用戶開始轉投其他瀏覽器,Firefox和Opera就是在這個時候興起的。
另外,很多國產瀏覽器都是“雙核瀏覽器”,其中一個核心是Trident,另一個常見的是Webkit。比如遨游瀏覽器、360安全瀏覽器等。
Gecko內核是Firefox采用的內核,開始於Netscape6。Gecko的特點是代碼完全公開,可開發程度很高。Gecko的出現和IE也不無關系,當年IE與W3C標准嚴重脫節導致內部一些開發人員不滿,他們與當時已經停止更新的Netscape的一些員工創辦了Mozilla,以當時的Mosaic內核為基礎重新編寫了內核,於是就有了Gecko。
Gecko內核的瀏覽器仍然是Firefox的用戶最多,多以有時候也會被稱為Firefox內核,Gecko內核也是一個跨平台的內核。
Presto內核是Opera之前使用過的內核,Opera12.17以及更早的版本曾經采用過的內核,現在已經停止開發並廢棄。該內核在2003年的Opera7中首次使用,Presto的特點是渲染速度的優化達到了極致,但代價是犧牲了網頁的兼容性。
Presto是一個動態內核,在腳本處理上Presto有着天生的優勢,頁面的全部或者部分都能夠在回應腳本事件時等情況下被重新解析。此外該內核在執行javascript的時候有着最快的速度,根據在同等條件下的測試,Presto內核執行同等Javascript所需的時間僅有Trident和Gecko內核的三分之一(也有人測試說Presto渲染部分快部分慢,總體和其他內核差不多)。可惜Presto是商業引擎,很大程度上限制了內核的發展。現在Opera改用Google Chrome相同的Blink內核。
Webkit內核是蘋果公司自己的內核,也是蘋果Safari瀏覽器使用的內核。Webkit引擎包含WebCore排版引擎和JavascriptCore解析引擎,均從KDE的KHTML引擎衍生而來,基於GPL開源。Google Chrome使用了Webkit內核,在腳本解析上Chrome使用了自家研發的V8引擎。
現在許多手機瀏覽器使用的都是Webkit內核,蘋果自帶Safari,Android的默認瀏覽器等。
Blink是由Google和Opera Software開發的瀏覽器排版引擎,於2013年4月公布了這一消息。該渲染引擎是開源引擎Webkit中Webcore組件的一個分支,並且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex瀏覽器中使用。
而在Google作出此舉之際,Mozilla與Samsung也達成合作開發協議開發下一代瀏覽器渲染引擎Servo。
KHTML是網頁排版引擎之一,由KDE開發。KHTML擁有速度快捷的優點,但對錯誤語法的容忍度則比Mozilla產品所使用的Gecko引擎小。蘋果電腦於2002年采納了KHTML,作為開發Safari瀏覽器之用,並發布所修改的最新及過去版本源代碼。后來發表了開放源代碼的WebCore及WebKit引擎,它們均是KHTML的衍生產品,在開發網站列出引擎改變內容,並會傳回至KDE計划。