日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

webkit 学习笔记 - 1. 浏览器与浏览器内核

發(fā)布時(shí)間:2023/12/20 HTML 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 webkit 学习笔记 - 1. 浏览器与浏览器内核 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

瀏覽器

chrominum

  • Chrominum 本身就是一個(gè)瀏覽器,而不是Chrome瀏覽器的內(nèi)核,Chrome瀏覽器一般選擇Chrominum的穩(wěn)定版本作為它的基礎(chǔ)

格局

  • 對于桌面系統(tǒng)而言,IE、Firefox、Chrome占據(jù)了市場90%的瀏覽器份額。而在移動(dòng)端,由于蘋果的IOS系統(tǒng)和谷歌的Android系統(tǒng)占據(jù)了絕對領(lǐng)先的地位,因而基本上移動(dòng)端的瀏覽器都是基于Webkit

HTML

  • HTML1.0由著名的Berners-Lee于1991年提出,此后經(jīng)歷了多次版本更新,直到1997年4.0版本和1999年的4.01版本。
  • 具有劃時(shí)代意義的HTML5技術(shù)在2012年由W3C和WHATWG推薦為候選規(guī)范。HTML5包含了一系列標(biāo)準(zhǔn),一共包含10個(gè)大的分類

瀏覽器用戶代理(User-agent)

  • 用戶代理主要用來表明瀏覽器的身份。因?yàn)槟撤N瀏覽器的流行,很多站點(diǎn)會(huì)根據(jù)這種瀏覽器來定制特定內(nèi)容,當(dāng)其他瀏覽器也需要相同的網(wǎng)頁時(shí),就只能通過在User-agent里添加上此種瀏覽器的信息來冒充此種瀏覽器

瀏覽器內(nèi)核及其特性

  • 瀏覽器內(nèi)核通常也被稱為渲染引擎,渲染引擎能夠?qū)TML/CSS/JS文本及其相應(yīng)的資源轉(zhuǎn)換成圖像結(jié)果
  • 目前,主要瀏覽器內(nèi)核包括Trident(IE),Gecko(Firefox),Webkit。2013年,Google宣布了Blink內(nèi)核,它其實(shí)是從Webkit復(fù)制出去的

內(nèi)核特征

  • 渲染引擎主要包括四個(gè)模塊

    HTML 解釋器
    CSS 解釋器
    布局
    Javascript 引擎

  • 一般來說,渲染引擎會(huì)內(nèi)置一個(gè)默認(rèn)的Javascript引擎,不過大多數(shù)瀏覽器會(huì)將其替換,所以嚴(yán)格來說,Javascript引擎并不屬于內(nèi)核的一部分。Javascript引擎能夠解釋Javascript代碼并通過DOM接口和CSSOM接口來修改網(wǎng)頁的內(nèi)容和樣式
  • 以上這些模塊依賴很多系統(tǒng)內(nèi)置的模塊,包括網(wǎng)絡(luò)、存儲、2D/3D圖像、音視視頻和圖形解碼器等。如此說來,實(shí)際上,渲染引擎應(yīng)該還包括如何使用這些依賴模塊的部分
  • 當(dāng)DOM建立的時(shí)候,渲染引擎接收來自CSS解釋器的信息,構(gòu)建一個(gè)新的內(nèi)部繪圖模型。該模型由布局模塊計(jì)算模型內(nèi)各個(gè)元素的位置和大小信息,最后調(diào)用繪圖模塊完成網(wǎng)頁的繪制

Webkit

  • 2001年,蘋果宣布從KHTML的源代碼樹中復(fù)制代碼出來,成立了一個(gè)新的項(xiàng)目,這就時(shí)大名鼎鼎的Webkit。蘋果公司在2005年將Webkit項(xiàng)目開源
  • “Webkit”這個(gè)單詞其實(shí)可以表示成兩種含義,姑且稱之為廣義Webkit和狹義Webkit。廣義Webkit指的是整個(gè)Webkit項(xiàng)目,狹義Webkit指的是Webcore(包含HTML解釋器,CSS解釋器,布局模塊)和Javascript引擎之上的一層綁定和嵌入式編程接口,可以被各種瀏覽器調(diào)用
  • Webkit被很很多瀏覽器所實(shí)現(xiàn),每個(gè)移植的HTML5規(guī)范支持不盡相同,所以,盡管都是使用Webkit,但還是可能對兼容性帶來很大的挑戰(zhàn)

webkit 和 webkit2

  • Webkit2也是一個(gè)狹義上的綁定和接口層,但是Webkit2不是Webkit綁定和接口層的簡單升級,而是一組支持新架構(gòu)(多進(jìn)程)的全新綁定和接口層
  • 20104月,蘋果宣布了Webkit2,目標(biāo)就是抽象出一組新的編程接口,該接口和調(diào)用者代碼與網(wǎng)頁的渲染工作代碼不在同一個(gè)進(jìn)程,這顯然有了Chrominum多進(jìn)程的優(yōu)點(diǎn)。而且,Webkit接口的使用者不需要理解和接觸背后的多進(jìn)程和進(jìn)程間通信等復(fù)雜機(jī)制,Webkit2部分代碼也屬于Webkit項(xiàng)目。Webkit2進(jìn)程結(jié)構(gòu)模型至少包含兩個(gè)進(jìn)程,其一時(shí)UI進(jìn)程(綁定和接口層所在的進(jìn)程,也就是瀏覽器的UI進(jìn)程),其二時(shí)Web進(jìn)程(網(wǎng)頁渲染所在的進(jìn)程)。下面時(shí)Webkit2和Chrominum的進(jìn)程模型圖

  • 通過API boundary可以看出來,基于Chrominum項(xiàng)目框架來開發(fā)一個(gè)瀏覽器,開發(fā)者需要自己處理多進(jìn)程和多進(jìn)程之間的通信,而使用Webkit2架構(gòu)則不需要

Blink

  • Blink時(shí)Chrominum瀏覽器的內(nèi)核,最初時(shí)用從Webkit項(xiàng)目復(fù)制過來的
  • Blink有一個(gè)大膽的想法,想要將DOM樹引入Javascript引擎中(目前應(yīng)該還未實(shí)現(xiàn))。目前DOM樹和Javascript引擎是分開的,在DOM樹與Javascript引擎中間有一個(gè)橋階層,這意味著Javascript引擎訪問DOM樹需要較高的代價(jià)

轉(zhuǎn)自 webkit學(xué)習(xí)筆記-(1)瀏覽器和瀏覽器內(nèi)核

總結(jié)

以上是生活随笔為你收集整理的webkit 学习笔记 - 1. 浏览器与浏览器内核的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。