
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
浏览器相信大家应该都不陌生的吧,而今天我们就通过案例分析来了解一下,浏览器架构组成都包含哪些内容。
用户界面——包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示用户请求的页面外,其他显示的各个部分都属于用户界面。
用户界面后端——用于绘制基本的窗口小部件,比如组合框和窗口。其公开了与web应用无关的通用接口,而在底层使用操作系统的用户界面方法。
浏览器引擎——在用户界面和渲染引擎之间传递指令。
渲染引擎——负责显示请求的内容。如果请求的内容是HTML,它就解析HTML和css内容,并将解析后的内容显示在窗口上。
网络——用于网络调用。比如http请求。其接口与web应用无关,并为所有web应用提供底层实现。
JavaScript解释器。用于解析和执行JavaScript代码,比如chrome的javascript解释器是V8。
数据存储。这是持久层。浏览器需要在硬盘上保存各种数据,例如cookie。新的HTML5规范定义了“网络数据库”,这是一个完整的且轻便的浏览器内数据库。
值得注意的是,不同于大多数浏览器,chrome浏览器为每个标签页都分配了各自的渲染引擎实例,每个标签页都是一个独立的进程(即每个标签页都在独立的“沙箱”内运行,在提高安全性的同时,一个标签页面崩溃也不会导致其他的标签页被关闭)
浏览器进程与线程
进程是cpu资源分配的小单位(是能拥有资源和独立运行的小单位)
线程是cpu调度的小单位(线程是建立在进程的基础上的一次程序运行单位,一个进程可以有多个线程)
浏览器是多进程的,有一个主控进程,以及每一个tab页面都会新开一个进程(某些情况下多个tab会合并进程)
浏览器的进程为以下几种:
Browser进程:浏览器的主进程(负责协调、主控),只有一个
三方插件进程:每种类型的插件对应一个进程,仅当使用该插件的时候才创建
GPU进程:多一个,用于3D绘制
浏览器渲染进程(内核):默认每个tab页面一个进程,互不影响,控制页面渲染,脚本执行,事件处理等(有时会优化,如多个空白tab会合成一个进程)
希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。