新聞中心
本文由創(chuàng)新互聯(lián)(www.cdcxhl.com)小編為大家整理,本文主要介紹了關(guān)于據(jù)報(bào)道稱瀏覽器內(nèi)核有上千萬(wàn)行代碼的相關(guān)知識(shí),希望對(duì)你有一定的參考價(jià)值和幫助,記得關(guān)注和收藏網(wǎng)址哦!

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供墾利網(wǎng)站建設(shè)、墾利做網(wǎng)站、墾利網(wǎng)站設(shè)計(jì)、墾利網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、墾利企業(yè)網(wǎng)站模板建站服務(wù),十年墾利做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
據(jù)報(bào)道稱瀏覽器內(nèi)核有上千萬(wàn)行代碼?
瀏覽器給我們呈現(xiàn)的是一個(gè)生動(dòng)活潑、色彩斑斕、豐富多彩的網(wǎng)絡(luò)世界。在我們看來(lái)瀏覽器的窗口界面好像是一個(gè)電子相框,呈現(xiàn)出一幅一幅畫(huà)好的既定畫(huà)面。
實(shí)際上瀏覽器是將無(wú)數(shù)的代碼轉(zhuǎn)化、渲染成我們所看到的內(nèi)容,當(dāng)我們要在瀏覽器上看到如下圖這樣的紅色框框時(shí),代碼需要對(duì)框框進(jìn)行命名,還要對(duì)畫(huà)框框的起點(diǎn)進(jìn)行描點(diǎn),然后根據(jù)長(zhǎng)、寬、顏色等等數(shù)據(jù)對(duì)框框進(jìn)行繪制。同樣框框里面的文字具體要寫(xiě)在框框的那個(gè)位置也要進(jìn)行描點(diǎn)。
可想而知,瀏覽器在零點(diǎn)幾秒的時(shí)間內(nèi)要呈現(xiàn)出生動(dòng)活潑、色彩斑斕、豐富多彩的頁(yè)面并不是那么容易,這就好比你站在一幅畫(huà)面前通過(guò)告訴你的朋友畫(huà)上面的內(nèi)容,然后要讓他完美無(wú)差的呈現(xiàn)出來(lái)。
我們打開(kāi)一個(gè)網(wǎng)站的過(guò)程到底發(fā)生了什么?當(dāng)我們?cè)跒g覽器的地址欄中輸入文字,并按回車鍵獲得頁(yè)面內(nèi)容,分為以下幾步:
當(dāng)瀏覽器的地址輸入文字時(shí),UI線程會(huì)判斷用戶輸入的是網(wǎng)址URL還是查詢query字段。當(dāng)用戶按下回車鍵,UI線程會(huì)通知網(wǎng)絡(luò)線程獲取網(wǎng)頁(yè)的內(nèi)容。
網(wǎng)絡(luò)線程會(huì)執(zhí)行DNS查詢(從域名服務(wù)器將域名解析為服務(wù)器IP地址),接著向服務(wù)器請(qǐng)求建立SSL/TLS連接。如果網(wǎng)絡(luò)線程接收到了重定向請(qǐng)求頭如301,網(wǎng)絡(luò)線程會(huì)通知UI線程服務(wù)器要求重定向,另一個(gè)URL請(qǐng)求就會(huì)被觸發(fā)。
當(dāng)請(qǐng)求響應(yīng)返回時(shí),網(wǎng)絡(luò)線程會(huì)根據(jù)內(nèi)容類型(Content-Type)及MIME類型嗅探判斷響應(yīng)內(nèi)容的格式。
比如:響應(yīng)內(nèi)容的格式是HTML,就會(huì)將數(shù)據(jù)傳遞給渲染進(jìn)程;如果是下載文件(rar、zip),就會(huì)將數(shù)據(jù)傳輸給下載管理器。
安全瀏覽檢查在這個(gè)時(shí)候也會(huì)被觸發(fā),如果域名、請(qǐng)求內(nèi)容匹配到惡意站點(diǎn),網(wǎng)絡(luò)線程就會(huì)展示一個(gè)警告頁(yè)面,也不會(huì)將數(shù)據(jù)傳遞給渲染進(jìn)程。
當(dāng)網(wǎng)絡(luò)線程做完檢查后就會(huì)告訴UI線程所有的數(shù)據(jù)已經(jīng)準(zhǔn)備好了,UI線程則會(huì)尋找渲染進(jìn)程來(lái)渲染頁(yè)面。
渲染進(jìn)程準(zhǔn)備好后,瀏覽器進(jìn)程就會(huì)將收到的響應(yīng)數(shù)據(jù)流傳遞給對(duì)應(yīng)的渲染進(jìn)程讓它繼續(xù)接收到來(lái)的HTML數(shù)據(jù),這時(shí)加載頁(yè)面就正式開(kāi)始了,導(dǎo)航欄會(huì)被更新,安全指示符和站點(diǎn)設(shè)置UI就會(huì)展示線頁(yè)面相關(guān)的站點(diǎn)信息。同時(shí)Tab的會(huì)話歷史也會(huì)被更新,這樣再點(diǎn)前進(jìn)和后退才能起作用。
渲染進(jìn)程主要是將HTML、CSS、以及JavaScript轉(zhuǎn)變?yōu)槲覀兛梢赃M(jìn)行交互的網(wǎng)頁(yè)內(nèi)容。所有的這一些列的過(guò)程的背后其實(shí)都有CPU和GPU在后面進(jìn)行支撐,當(dāng)然也少不操作系統(tǒng)提供的機(jī)制才能在CPU和在GPU上運(yùn)行。
構(gòu)建一個(gè)瀏覽器內(nèi)核的成本堪比芯片制造。比如谷歌打造的Chrome瀏覽器內(nèi)核Chromium,最初部署了1000人進(jìn)行開(kāi)發(fā),代碼量達(dá)到了2400萬(wàn)行,幾乎是一個(gè)操作系統(tǒng)的一半大小。該項(xiàng)目開(kāi)發(fā)耗資數(shù)百億美元。
其實(shí)鉻含有很多東西。如果每一本都單獨(dú)展開(kāi),就是一本厚厚的參考書(shū)。比如網(wǎng)絡(luò)庫(kù)包括主機(jī)解析、cookies、網(wǎng)絡(luò)變化檢測(cè)、SSL、資源緩存、FTP、HTTP、OCSP實(shí)現(xiàn)、SOCKS和HTTP代理配置、解析、腳本獲取、QUIC等等。
那個(gè) s為什么比微軟更強(qiáng)的存在也放棄維護(hù)自己的IE瀏覽器內(nèi)核,因?yàn)橥度胩植蓝D(zhuǎn)向開(kāi)源Chromium。
Chromium是一個(gè)開(kāi)源項(xiàng)目,但不是每個(gè)人都有能力改變它。Chromium號(hào)稱模塊化,高內(nèi)聚,低耦合。即使你想刪除一點(diǎn)點(diǎn)代碼,它 很難找到精力刪除一些不必要的功能或添加功能。
以上個(gè)人拙見(jiàn),歡迎批評(píng)指正。
我同意你的觀點(diǎn)。走之前請(qǐng)給我一個(gè)贊。謝謝大家!
喜歡,請(qǐng)關(guān)注我,再次感謝!
網(wǎng)站名稱:小杰gm服插件(據(jù)報(bào)道稱瀏覽器內(nèi)核有上千萬(wàn)行代碼)
網(wǎng)址分享:http://m.fisionsoft.com.cn/article/coeissj.html


咨詢
建站咨詢
