chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

不只是前端,后端、產(chǎn)品和測(cè)試也需要了解的瀏覽器知識(shí)

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2024-07-01 18:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、我們?yōu)槭裁匆私鉃g覽器?

1. 對(duì)于前端開發(fā)者

1.瀏覽器是用戶體驗(yàn)的第一線。我們需要了解瀏覽器的工作原理,才能有效地設(shè)計(jì)和實(shí)現(xiàn)用戶界面,確保良好的用戶體驗(yàn)。

2.好的產(chǎn)品需要考慮瀏覽器兼容性。我們需要了解這些差異,以確保網(wǎng)站或應(yīng)用在不同的瀏覽器中都能正常工作,因?yàn)椴煌臑g覽器對(duì)CSS、JavaScript等的支持程度和實(shí)現(xiàn)細(xì)節(jié)可能有所不同。

3.追求良好的性能需要我們了解瀏覽器的渲染機(jī)制、JavaScript引擎的工作原理,因?yàn)樗麄冎苯佑绊懙巾?yè)面的加載速度和運(yùn)行效率。

4.對(duì)用戶信息的安全性的考慮需要我們關(guān)注瀏覽器。我們需要了解瀏覽器的安全特性,如同源策略、內(nèi)容安全策略等,才能更好地保護(hù)用戶數(shù)據(jù)不受XSS、CSRF等攻擊。

5.研發(fā)過程中需要使用調(diào)試工具,瀏覽器提供的開發(fā)者工具,可以幫助我們調(diào)試代碼、分析性能、檢查網(wǎng)絡(luò)請(qǐng)求等。

2. 對(duì)于后端開發(fā)者

1.在進(jìn)行接口設(shè)計(jì)時(shí),后端開發(fā)者需要設(shè)計(jì)API供前端調(diào)用,了解瀏覽器的工作原理有助于設(shè)計(jì)更高效、更安全的接口。

2.在前后端分離的架構(gòu)中,后端提供的是服務(wù)端API,前端通過瀏覽器調(diào)用這些API。后端開發(fā)者需要了解瀏覽器的HTTP請(qǐng)求方式、跨域問題等,以確保API的正確實(shí)現(xiàn)和調(diào)用。

3.在性能監(jiān)控過程中,后端開發(fā)者可能需要關(guān)注由于前端代碼不優(yōu)化導(dǎo)致的服務(wù)器負(fù)載問題,如過多的HTTP請(qǐng)求、大量的數(shù)據(jù)傳輸?shù)龋@需要一定的瀏覽器知識(shí)來共同解決問題。

4.對(duì)于追求全棧開發(fā)能力的后端開發(fā)者,了解瀏覽器相關(guān)知識(shí)是必不可少的,這有助于后端更好地理解整個(gè)系統(tǒng)的工作流程,提高跨領(lǐng)域的協(xié)作能力。

二、瀏覽器發(fā)展概述

1. 宏觀發(fā)展

?

?

?

1. 瀏覽器降生

1990 年,英國(guó)計(jì)算機(jī)工程師蒂姆·伯納斯·李(Tim Berners-Lee)在瑞士的歐洲核子研究組織(CERN)工作時(shí),開發(fā)出首個(gè) Web 服務(wù)器與圖形化 Web 瀏覽器。他將這個(gè)進(jìn)入互聯(lián)網(wǎng)世界的新窗口,稱為“WorldWideWeb”(即“萬(wàn)維網(wǎng)”)。

一年后,伯納斯·李(Berners-Lee)委托 CERN 的數(shù)學(xué)系學(xué)生尼古拉·佩洛(Nicola Pellow)編寫了“命令行模式瀏覽器”,這是一款可在簡(jiǎn)易計(jì)算機(jī)終端中使用的瀏覽器。

2. 瀏覽器涿鹿中原

1.1993年Mosaic瀏覽器的發(fā)布標(biāo)志著圖形界面Web瀏覽器的誕生。它是由伊利諾伊大學(xué)厄巴納-香檳分校的國(guó)家超級(jí)計(jì)算應(yīng)用中心(NCSA)開發(fā)的。

2.1994年Mosaic的一些原開發(fā)者創(chuàng)立了Netscape公司,并推出了Netscape Navigator,它迅速成為最受歡迎的瀏覽器。

3.1995年微軟推出了Internet Explorer(IE),并將其與Windows操作系統(tǒng)捆綁銷售,這一策略極大地推動(dòng)了IE的市場(chǎng)份額。

4.1995-2001年這段時(shí)間,Netscape Navigator和Internet Explorer之間的競(jìng)爭(zhēng)非常激烈。最終,IE憑借與Windows的捆綁優(yōu)勢(shì)贏得了這場(chǎng)戰(zhàn)爭(zhēng)。

5.2003年蘋果公司推出了自家的瀏覽器Safari。

6.2004年Mozilla Foundation發(fā)布了Firefox瀏覽器。它是從Netscape的源代碼發(fā)展而來的,因其開源性質(zhì)、安全性和擴(kuò)展性受到用戶喜愛。

7.2008年谷歌發(fā)布了Chrome瀏覽器,以其速度、簡(jiǎn)潔和創(chuàng)新的多進(jìn)程架構(gòu)迅速獲得了市場(chǎng)份額。

8.2004-2010年隨著Firefox和Chrome的崛起,瀏覽器市場(chǎng)再次進(jìn)入競(jìng)爭(zhēng)激烈的階段。IE的市場(chǎng)份額開始下滑,Chrome和Firefox成為主要的競(jìng)爭(zhēng)對(duì)手。

9.2014年HTML5標(biāo)準(zhǔn)最終確定,推動(dòng)了Web技術(shù)的進(jìn)一步發(fā)展,各大瀏覽器廠商都開始支持這一標(biāo)準(zhǔn)。

10.2015年微軟發(fā)布了新的瀏覽器Edge,以取代老舊的IE瀏覽器。Edge最初使用了自家的EdgeHTML渲染引擎,后來轉(zhuǎn)而使用Chromium的Blink引擎。

3. 小結(jié)一下

瀏覽器的發(fā)展是一個(gè)持續(xù)的過程,廠商之間的競(jìng)爭(zhēng)也在推動(dòng)著技術(shù)的進(jìn)步。隨著互聯(lián)網(wǎng)技術(shù)的不斷演進(jìn),我們可以預(yù)期瀏覽器將繼續(xù)在速度、安全性、用戶體驗(yàn)和功能性上進(jìn)行創(chuàng)新;隨著智能手機(jī)和平板電腦的普及,移動(dòng)瀏覽器的重要性日益增加,Safari在iOS設(shè)備上占據(jù)主導(dǎo)地位,而Chrome在Android設(shè)備上成為主流。

2. 微觀發(fā)展

1. 單進(jìn)程架構(gòu)

顧名思義,單進(jìn)程瀏覽器是指瀏覽器的所有功能模塊都是運(yùn)行在同一個(gè)進(jìn)程里,這些模塊包含了網(wǎng)絡(luò)、插件、JavaScript 運(yùn)行環(huán)境、渲染引擎和頁(yè)面等。其實(shí)早在 2007 年之前,市面上瀏覽器都是單進(jìn)程的。單進(jìn)程瀏覽器的架構(gòu)如下圖所示:

?

?

?

如此多的功能模塊運(yùn)行在一個(gè)進(jìn)程里,是導(dǎo)致單進(jìn)程瀏覽器不穩(wěn)定、不流暢和不安全的一個(gè)主要因素。原因如下:

(1)不穩(wěn)定

早期瀏覽器需要借助于插件來實(shí)現(xiàn)諸如 Web 視頻、Web 游戲等各種強(qiáng)大的功能,但是插件是最容易出問題的模塊,并且還運(yùn)行在瀏覽器進(jìn)程之中,所以一個(gè)插件的意外崩潰會(huì)引起整個(gè)瀏覽器的崩潰。除了插件之外,渲染引擎模塊也是不穩(wěn)定的,通常一些復(fù)雜的 JavaScript 代碼就有可能引起渲染引擎模塊的崩潰。和插件一樣,渲染引擎的崩潰也會(huì)導(dǎo)致整個(gè)瀏覽器的崩潰。

(2)不流暢

從上面的“單進(jìn)程瀏覽器架構(gòu)示意圖”可以看出,所有頁(yè)面的渲染模塊、JavaScript 執(zhí)行環(huán)境以及插件都是運(yùn)行在同一個(gè)線程中的,這就意味著同一時(shí)刻只能有一個(gè)模塊可以執(zhí)行。

?

function test() {
    while(true) {
        console.log('test')
    }
}

如果讓這個(gè)腳本運(yùn)行在一個(gè)單進(jìn)程瀏覽器的頁(yè)面里,它會(huì)獨(dú)占整個(gè)線程,導(dǎo)致其他運(yùn)行在該線程中的模塊就沒有機(jī)會(huì)被執(zhí)行。因?yàn)闉g覽器中所有的頁(yè)面都運(yùn)行在該線程中,所以這些頁(yè)面都沒有機(jī)會(huì)去執(zhí)行任務(wù),這樣就會(huì)導(dǎo)致整個(gè)瀏覽器失去響應(yīng),變卡頓。

(3)不安全

插件可以使用 C/C++ 等代碼編寫,通過插件可以獲取到操作系統(tǒng)的任意資源,當(dāng)你在頁(yè)面運(yùn)行一個(gè)插件時(shí)也就意味著這個(gè)插件能完全操作你的電腦。如果是個(gè)惡意插件,那么它就可以釋放病毒、竊取你的賬號(hào)密碼,引發(fā)安全性問題。

頁(yè)面腳本,它可以通過瀏覽器的漏洞來獲取系統(tǒng)權(quán)限,這些腳本獲取系統(tǒng)權(quán)限之后也可以對(duì)你的電腦做一些惡意的事情,同樣也會(huì)引發(fā)安全問題。

2. 多進(jìn)程架構(gòu)

(1)2008 年 Chrome 發(fā)布時(shí)的進(jìn)程架構(gòu)

?

?

?

(2)現(xiàn)在的多進(jìn)程架構(gòu)

?

?

?

?

1. 瀏覽器進(jìn)程。主要負(fù)責(zé)界面顯示、用戶交互、子進(jìn)程管理,同時(shí)提供存儲(chǔ)等功能。

2. 渲染進(jìn)程。核心任務(wù)是將 HTML、CSS 和 JavaScript 轉(zhuǎn)換為用戶可以與之交互的網(wǎng)頁(yè),排版引擎 Blink 和 JavaScript 引擎 V8 都是運(yùn)行在該進(jìn)程中,默認(rèn)情況下,Chrome 會(huì)為每個(gè) Tab 標(biāo)簽創(chuàng)建一個(gè)渲染進(jìn)程。出于安全考慮,渲染進(jìn)程都是運(yùn)行在沙箱模式下。

3. GPU 進(jìn)程。其實(shí),Chrome 剛開始發(fā)布的時(shí)候是沒有 GPU 進(jìn)程的。而 GPU 的使用初衷是為了實(shí)現(xiàn) 3D CSS 的效果,只是隨后網(wǎng)頁(yè)、Chrome 的 UI 界面都選擇采用 GPU 來繪制,這使得 GPU 成為瀏覽器普遍的需求。最后,Chrome 在其多進(jìn)程架構(gòu)上也引入了 GPU 進(jìn)程。

4. 網(wǎng)絡(luò)進(jìn)程。主要負(fù)責(zé)頁(yè)面的網(wǎng)絡(luò)資源加載,之前是作為一個(gè)模塊運(yùn)行在瀏覽器進(jìn)程里面的,直至最近才獨(dú)立出來,成為一個(gè)單獨(dú)的進(jìn)程。

5. 插件進(jìn)程。主要是負(fù)責(zé)插件的運(yùn)行,因插件易崩潰,所以需要通過插件進(jìn)程來隔離,以保證插件進(jìn)程崩潰不會(huì)對(duì)瀏覽器和頁(yè)面造成影響。

三、瀏覽器核心部件

1. 瀏覽器界面介紹

?

?

?

1.用戶界面主要是瀏覽器除了網(wǎng)頁(yè)顯示范圍以外的部分,包括地址欄、書簽、前進(jìn)、后退按鈕、歷史記錄等用戶可操作的部分

2.瀏覽器引擎是用于在用戶界面和渲染引擎之間傳送指令或者在客戶端本地緩存中讀寫數(shù)據(jù),它是各個(gè)部分之間相互通信的核心

3.渲染引擎主要是負(fù)責(zé)解析DOM和CSS規(guī)則,瀏覽器內(nèi)核主要指的就是渲染引擎和JavaScript引擎

4.網(wǎng)絡(luò)模塊是負(fù)責(zé)發(fā)送網(wǎng)絡(luò)請(qǐng)求和下載網(wǎng)絡(luò)資源

5.JavaScript引擎用于解釋和執(zhí)行JavaScript代碼,如V8

6.UI后端用于繪制基本的瀏覽器控件

7.數(shù)據(jù)持久化存儲(chǔ)是通過瀏覽器引擎提供的API進(jìn)行調(diào)用

2. 目前瀏覽器的使用的渲染引擎和解釋器總結(jié)

瀏覽器內(nèi)核 代表瀏覽器
Trident IE
Webkit Safari、Edge
Blink Chrome
Gecko Firefox
Presto 歐朋
雙核 360瀏覽器、獵豹瀏覽器、搜狗、遨游、QQ瀏覽器、百度瀏覽器、2345瀏覽器

3. 瀏覽器的解釋器

1. Rhino,由Mozilla基金會(huì)管理,開放源代碼,完全以Java編寫。

2. SpiderMonkey,第一款JavaScript引擎,早期用于Netscape Navigator,現(xiàn)時(shí)用于Mozilla Firefox。

3. JavaSV8,開放源代碼,由Google丹麥開發(fā),是Google Chrome的一部分。

4. criptCore,開放源代碼,用于Safari。

5. Chakra (JScript引擎),用于Internet Explorer11。

6. Chakra (JavaScript引擎),用于Microsoft Edge。

7. KJS,KDE的ECMAScript/JavaScript引擎,最初由哈里·波頓開發(fā),用于KDE項(xiàng)目的Konqueror網(wǎng)頁(yè)瀏覽器中。

四、各家瀏覽器目前的市場(chǎng)占比

1. 全球市場(chǎng)占有率

?

?

?

2. 中國(guó)市場(chǎng)占有率排名

?

?

?

?

五、整體總結(jié)一下

本篇文章主要介紹一下作為研發(fā)了解瀏覽器的必要性, 以及瀏覽器的基本情況和整體的發(fā)展。 在考慮產(chǎn)品定位時(shí)(開發(fā)出一款什么樣的目標(biāo)產(chǎn)品),我們需要對(duì)瀏覽器有一定的了解,整篇文章對(duì)研發(fā)和產(chǎn)品皆有一定的參考意義。


?

本文主要參考《瀏覽器工作原理與實(shí)踐》

如果各位看官喜歡,留下你的的評(píng)論,留下你的贊

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 測(cè)試
    +關(guān)注

    關(guān)注

    8

    文章

    5900

    瀏覽量

    130268
  • 前端
    +關(guān)注

    關(guān)注

    1

    文章

    234

    瀏覽量

    18550
  • 后端
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    2467
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Microsoft Edge瀏覽器iOS端插件功能上線

    在最新發(fā)布的 139 版本中,Microsoft Edge 瀏覽器 iOS 端正式支持插件功能!與此同時(shí),Microsoft Edge 安卓端的插件數(shù)量已躍升至近 30 款。廣告攔截、雙語(yǔ)翻譯、資源下載……你的手機(jī)瀏覽器,能擁
    的頭像 發(fā)表于 08-19 14:29 ?1218次閱讀

    進(jìn)迭時(shí)空 V8 RISC-V 后端優(yōu)化

    前言V8是Google開發(fā)及開源的JavaScript和WebAssembly語(yǔ)言編譯引擎,是Chromium項(xiàng)目的一部分,主要應(yīng)用于Chrome瀏覽器和Node.js等項(xiàng)目,在瀏覽器生態(tài)中發(fā)
    的頭像 發(fā)表于 07-31 09:02 ?615次閱讀
    進(jìn)迭時(shí)空 V8 RISC-V <b class='flag-5'>后端</b>優(yōu)化

    老電視如何安裝瀏覽器

    2017年購(gòu)買的夏普老電視,1.5G+8G存儲(chǔ),網(wǎng)上下的瀏覽器APK文件在電視內(nèi)打開就彈出“解析程序包出現(xiàn)問題”。 未知來源選項(xiàng)已打開,存儲(chǔ)空間清空到只剩下三個(gè)應(yīng)用(只占用300M左右),基本可
    發(fā)表于 06-01 18:57

    edge瀏覽器識(shí)別 latex語(yǔ)法插件

    默認(rèn)的瀏覽器是沒有l(wèi)atex識(shí)別功能的,容易顯示為亂碼或者源碼,無(wú)法正常識(shí)別。本插件需要瀏覽器的擴(kuò)展程序菜單下安裝,能在edge下完美運(yùn)行。本插件是免費(fèi)插件。
    發(fā)表于 03-17 18:03 ?1次下載

    騰訊AI To C業(yè)務(wù)大調(diào)整:QQ瀏覽器、搜狗等轉(zhuǎn)入CSIG

    騰訊內(nèi)部近期完成了一次重要的產(chǎn)品及團(tuán)隊(duì)調(diào)整,標(biāo)志著其AI To C業(yè)務(wù)戰(zhàn)略的新一輪變革。據(jù)悉,QQ瀏覽器、搜狗輸入法以及ima等多款產(chǎn)品和應(yīng)用,將正式并入CSIG(云與智慧產(chǎn)業(yè)事業(yè)群)。 此次調(diào)整
    的頭像 發(fā)表于 02-20 09:22 ?1163次閱讀

    芯片前端后端制造工藝的區(qū)別

    通常,我們將芯片的生產(chǎn)過程劃分為前端制程和后端制程兩大階段,其中前端制程專注于芯片的制造,而后端制程則關(guān)注于芯片的封裝。
    的頭像 發(fā)表于 02-12 11:27 ?2011次閱讀
    芯片<b class='flag-5'>前端</b>和<b class='flag-5'>后端</b>制造工藝的區(qū)別

    數(shù)字電路設(shè)計(jì)中:前端后端的差異解析

    本文介紹了數(shù)字電路設(shè)計(jì)中“前端”和“后端”的區(qū)別。 數(shù)字電路設(shè)計(jì)中“前端”和“后端”整個(gè)過程可類比蓋一棟大樓:前端好比建筑師在圖紙上進(jìn)行功能
    的頭像 發(fā)表于 02-12 10:09 ?1036次閱讀

    E2000 Speedometer測(cè)試瀏覽器性能

    設(shè)計(jì)的基準(zhǔn)測(cè)試工具,旨在通過模擬用戶交互來測(cè)量 Web應(yīng)用的響應(yīng)速度 。其核心目標(biāo)是盡可能真實(shí)地反映現(xiàn)實(shí)世界的Web體驗(yàn)。當(dāng)瀏覽器在Speedometer上的得分提升時(shí),實(shí)際用戶的體驗(yàn)應(yīng)得到改善
    發(fā)表于 01-10 21:33

    2024年12月瀏覽器市場(chǎng)份額報(bào)告:谷歌Chrome穩(wěn)居榜首

    根據(jù)市場(chǎng)調(diào)查機(jī)構(gòu)Statcounter最新發(fā)布的權(quán)威報(bào)告,2024年12月全球瀏覽器市場(chǎng)份額排行榜中,谷歌Chrome瀏覽器再次以卓越的表現(xiàn)穩(wěn)居首位。數(shù)據(jù)顯示,Chrome的市場(chǎng)占有率高達(dá)68.38
    的頭像 發(fā)表于 01-02 14:58 ?3011次閱讀

    訊飛星火瀏覽器插件全新升級(jí)

    時(shí)刻陪伴,星火插件讓你的瀏覽器變成真正的生產(chǎn)力工具。
    的頭像 發(fā)表于 12-25 09:48 ?1525次閱讀

    Chrome瀏覽器優(yōu)化Android性能,驍龍8至尊版表現(xiàn)突出

    版Chrome瀏覽器瀏覽器基準(zhǔn)測(cè)試Speedometer 2.1中的得分顯著提升,整體性能實(shí)現(xiàn)了大幅提升。這一改進(jìn)使得Android設(shè)備在瀏覽
    的頭像 發(fā)表于 12-13 14:44 ?1560次閱讀

    OpenAI醞釀創(chuàng)新:計(jì)劃開發(fā)集成聊天機(jī)器人的瀏覽器

    近日,人工智能領(lǐng)域的佼佼者OpenAI正醞釀著一項(xiàng)可能改變瀏覽器行業(yè)格局的重大創(chuàng)新——開發(fā)一款能夠與其聊天機(jī)器人無(wú)縫結(jié)合的網(wǎng)絡(luò)瀏覽器。 據(jù)知情人士透露,OpenAI已與多家知名網(wǎng)站和應(yīng)用程序開發(fā)商
    的頭像 發(fā)表于 11-22 11:06 ?892次閱讀

    AWTK 最新動(dòng)態(tài):支持瀏覽器控件

    導(dǎo)讀AWTK瀏覽器控件,基于webview項(xiàng)目實(shí)現(xiàn),將瀏覽器嵌入到AWTK應(yīng)用程序中,讓開發(fā)者可以方便的集成在線幫助和調(diào)用地圖等功能。awtk-widget-web-view是基于webview實(shí)現(xiàn)的AWTK瀏覽器控件,使得AW
    的頭像 發(fā)表于 11-20 01:05 ?895次閱讀
    AWTK 最新動(dòng)態(tài):支持<b class='flag-5'>瀏覽器</b>控件

    寫一個(gè)Chrome瀏覽器插件

    一、什么是瀏覽器插件 瀏覽器插件是依附于瀏覽器,用來拓展網(wǎng)頁(yè)能力的程序。插件具有監(jiān)聽瀏覽器事件、獲取和修改網(wǎng)頁(yè)元素、攔截網(wǎng)絡(luò)請(qǐng)求、添加快捷菜單等功能。使用
    的頭像 發(fā)表于 11-18 17:12 ?1289次閱讀
    寫一個(gè)Chrome<b class='flag-5'>瀏覽器</b>插件

    初探AI測(cè)試分析

    在人工智能中,算法不只是用代碼敲出來這么簡(jiǎn)單的,而是由訓(xùn)練數(shù)據(jù)、標(biāo)簽和神經(jīng)網(wǎng)絡(luò)的結(jié)合產(chǎn)生的,這是機(jī)器學(xué)習(xí)的本質(zhì)。算法本身沒有直接洞察力,不能直接像缺陷一樣被修復(fù):它屬于“黑盒開發(fā)”。 人工智能系統(tǒng)
    的頭像 發(fā)表于 11-12 10:25 ?1355次閱讀
    初探AI<b class='flag-5'>測(cè)試</b>分析