相信很多小伙伴們在學習前端后端或者web測試的時候總會聽到瀏覽器內核這一稱謂。但是很多時候我們只是知道有內核這個東西,并不知道瀏覽器內核是干什么的,在什么時候需要使用到。接下來這篇文章,小編就著重介紹一下瀏覽器內核。
什么是主流瀏覽器?
提到主流瀏覽器,很多小伙伴可能會想起360啊,qq啊uc等一眾國產瀏覽器。其實,他們都不算主流瀏覽器,因為他們都沒有自己的內核(他們其實是別人的瀏覽器內核套上自己的一層外殼)。那么哪些瀏覽器才能算主流瀏覽器呢?主要有以下幾種:谷歌的Chrome,蘋果的Safari,微軟的IE和edge,火狐的Firefox和Opera的Opera瀏覽器。為什么是他們呢?因為他們都有自己對應的內核。
瀏覽器 | 對應內核 |
IE | trident內核(或者mshtml) |
Chrome | blink內核(或者chromium) |
火狐瀏覽器 | gecko內核 |
Edge | 最新的版本使用chromium內核 |
Opera | presto(已廢棄,最新版也是用blink) |
Safari | webkit |
什么是瀏覽器內核?
接下來就是本篇文章的重點之一——什么是瀏覽器內核。瀏覽器內核其實就是瀏覽器的渲染引擎,它的作用就是渲染html頁面。它的作用有點類似xml解析器。它通過讀取html和css文件,獲得一個個元素,然后使用渲染引擎將一個個元素按照要求展示在瀏覽器的窗口內。這就是瀏覽器需要做的工作。
瀏覽器內核的歷史
ie作為最古老的瀏覽器之一,他的trident內核是自行開發(fā)的(早期是基于Mosaic,但是后期經歷了各種魔改)。
edge作為ie的后繼者,在剛推出時他采用edgeHTML內核進行渲染,這是一款基于trident進行開發(fā)的內核。但是最后edge還是轉向使用chromium了。
Safari為了跟其它瀏覽器搶份額,和谷歌聯手開發(fā)了webkit內核,早期的谷歌瀏覽器也是使用webkit內核的。
Chrome后來跟Opera合作,在webkit的基礎上開發(fā)了blink內核。
Opera使用presto內核也是自行開發(fā)的,該內核的渲染速度優(yōu)化到了極致。但是最后還是被Opera廢棄。
火狐瀏覽器使用自家的gecko。
2022年6月15日,微軟將停止ie的支持,意味著trident內核使命的終結,而edge,Opera,Chrome都使用谷歌的內核,而谷歌內核和webkit內核屬于同一分支,到時候市場內核只會存在gecko和webkit系內核。網頁標準將趨于統(tǒng)一。
為什么要了解這些?
作為前端開發(fā)者,了解瀏覽器內核對于頁面開發(fā)至關重要,不同的瀏覽器的渲染方式是不同的,而且不同瀏覽器對于W3C的標準支持也是不同的。有些比較新的標準部分瀏覽器是不支持的,而且這些內核往往有一些“方言”。這些方言被稱為瀏覽器特性或者拓展支持。如果想讓你的頁面有更好的展示效果,使用這些瀏覽器特性是必須的。
作為測試開發(fā)者,你必須了解web頁面是否對瀏覽器進行兼容,而對于使用selenium的自動化測試人員來說,使用不同的瀏覽器需要使用不同的webdriver。
怎么查看瀏覽器內核
一般網上都能搜索到該款瀏覽器對應的內核,后端開發(fā)工作者也可以通過獲取請求中的user-agent來知曉瀏覽器的類型(不是瀏覽器的user agent 服務器獲取的ua是可以對應到瀏覽器的版本的)。
火狐瀏覽器將版本信息放在user agent里:
chromium內核的瀏覽器存放位置略有不同:
小結
以上就是關于瀏覽器內核的介紹,相信看完這篇文章之后各位小伙伴應該已經了解了瀏覽器內核是干什么的了吧?
不了解,沒關系,來前端開發(fā)課程,學習更多前端知識!