浏览器的组成结构

浏览器的组成结构

  1. 用户界面(User Interface) - 包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示的您请求的页面外,其他显示的各个部分都属于用户界面。
  2. 浏览器引擎(Browser engine) - 在用户界面和渲染引擎之间传送指令。
  3. 渲染引擎(Rendering engine) - 负责显示请求的内容。如果请求的内容是 HTML,它就负责解析 HTML 和 CSS 内容,并将解析后的内容显示在屏幕上。

    也可以叫呈现引擎(Rendering Engine)或者布局引擎(Layout Engine)

    默认情况下,渲染引擎可显示 HTML 和 XML 文档与图片。通过插件(或浏览器扩展程序),还可以显示其他类型的内容;例如,使用 PDF 查看器插件就能显示 PDF 文档。但是在本章中,我们将集中介绍其主要用途:显示使用 CSS 格式化的 HTML 内容和图片。

    浏览器(Firefox、Chrome 浏览器和 Safari)是基于两种渲染引擎构建的。Firefox 使用的是 Gecko,这是 Mozilla 公司“自制”的渲染引擎。而 Safari 和 Chrome 浏览器使用的都是 WebKit。

    浏览器 渲染引擎(开发语言) 脚本引擎(开发语言)
    Chrome Blink (c++) V8 (c++)
    Opera Blink (c++) V8 (c++)
    Safari Webkit (c++) JavaScript Core (nitro)
    FireFox Gecko (c++) SpiderMonkey (c/c++)
    Edge EdgeHTML (c++) Chakra JavaScript Engine (c++)
    IE Trident (c++) Chakra JScript Engine (c++)

    Firefox在2017年启用了新的web引擎Quantum,Quantum 以 Gecko 引擎为基础,同时利用了 Rust 的良好并发性和 Servo 的高性能组件,为 Firefox 带来了更多的并行化和 GPU 运算,让 Firefox 更快更可靠。

    2015 年 3 月,微软将放弃自家Edge:转而开发Chromium内核浏览器。

    WebKit 是一种开放源代码渲染引擎,起初用于 Linux 平台,随后由 Apple 公司进行修改,从而支持苹果机和 Windows。有关详情,请参阅 webkit.org

  4. 网络(Networking) - 用于网络调用,比如 HTTP 请求。其接口与平台无关,并为所有平台提供底层实现。
  5. 用户界面后端(UI Backend) - 用于绘制基本的窗口小部件,比如组合框和窗口。其公开了与平台无关的通用接口,而在底层使用操作系统的用户界面方法。
  6. JavaScript 解释器(JavaScript Interpreter)。用于解析和执行 JavaScript 代码,如 V8 引擎。

    JS引擎线程负责解析Javascript脚本,运行代码。

    JS引擎一直等待任务队列中任务的到来,然后加以处理,一个Tab页(renderer进程)中只有一个JS线程在运行

  7. 数据存储(Data Persistence)。这是持久层。浏览器需要在硬盘上保存各种数据,例如 Cookie。新的 HTML 规范 (HTML5) 定义了“网络数据库”,这是一个完整(但是轻便)的浏览器内数据库。

原文地址:https://www.cnblogs.com/liea/p/12499110.html

时间: 2024-10-31 19:28:29

浏览器的组成结构的相关文章

浏览器内核的结构、浏览器研究

对于喜欢赚外快的人来说,依靠自己的技术,抽点空闲时间,做个网站之类的东西,是使自己的时间转化为金钱的效率最大化过程.自己的技术本来就比较零散,现在总结总结,整理整理这一段时间的学习经验,感觉做一些总结性的东西,可以更迅速的发展,于是拿出来接受一些批评,更多地改进和发展. 百度了一下,发现目前的主流浏览器内核(网页排版引擎)主要有:Trident.Gecko.Webkit.Presto,平时在写html.CSS甚至JS之类的代码时,经常会记混或者弄错,于是整理一下. 别称 开发商 代表浏览器 普通

浏览器渲染原理

浏览器输入url到页面呈现发生了什么? 1:输入url 浏览器会开启一个线程来处理这个请求,对URL分析判断如果是http协议就按照Web方式来处理,浏览器会从历史记录,书签等地方,找到已经输入的字符串可能对应的 url,然后给出智能提示,让你可以补全url地址.对于 google的chrome 的浏览器,他甚至会直接从缓存中把网页展示出来. 2:域名解析 通过DNS解析获取网址的IP地址, IP 地址:IP 协议为互联网上的每一个网络和每一台主机分配的一个逻辑地址.IP 地址如同门牌号码,通过

[转载]浏览器的工作原理:新式网络浏览器幕后揭秘

原文地址 序言 这是一篇全面介绍 WebKit 和 Gecko 内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果.在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据(请参见资源),并花了很多时间来研读网络浏览器的源代码.她写道: 在 IE 占据 90% 市场份额的年代,我们除了把浏览器当成一个"黑箱",什么也做不了.但是现在,开放源代码的浏览器拥有了过半的市场份额,因此,是时候来揭开神秘的面纱,一探网络浏览器的内幕了.呃,里面只有数以百万行计的 C++ 代码.

如何让浏览器支持HTML5标签

在前端领域html5技术越来越流行了,可是还有一些浏览器不支持html5结构标签,这就让开发者非常蛋疼了.不过这也是没有办法的是,毕竟那些浏览器出生的时候要么还没有html5这回事.要么就是爹妈不愿意教他们怎么玩.今天就总结一下如何让浏览器支持html5结构标签(主要是前辈们的方法)借来一用: 一.使用Coding JavaScript 方法,不支持html5标签这种事一般都是IE8及其以下版本干的事,so: <!--[if lt IE9]> <script> (function(

网页浏览器的工作原理

1.3  使用网页浏览器 网页浏览器是显示网页服务器或档案系统内的文件,并让用户与这些文件互动的一种软件.它用来显示在万维网或局部局域网络等内的文字.影像及其他资讯.浏览器就是设计者的画廊,设计者把网页放在这里展示给用户. 1.3.1  网页浏览器的工作原理 Windows系统中自带了IE浏览器,普通用户在使用它浏览网页时,很多时候都忽视了自己在使用浏览器.对于一个页面设计者来说,了解浏览器的原理可以令设计者找到适合的途径把网页展示给用户. 那么用户是如何使用浏览器浏览网页的呢?WWW是一种采用

浏览器渲染速度优化

前言: 要实现网站的大提速,必须在各个环节进行精确的设置和安排.网站一旦打开速度变慢,往常,站长们第一时间肯定会认为“服务器慢”,其实看完本章后,你会发现或许结果并不完全是这样.影响网站速度的因素千差万别,服务器仅是其中一小部分因素而已. 有一种常见的情况,同样的服务器,网站与网站之间的打开速度也千差万别,这就和网站的制作工艺有相当大的关系:本节重点讲一下网站制作工艺优化. 我们可以大致将影响网络速度的因素分为五个来进行分别优化: 一.服务器硬件配置和设置: 二.服务器的线路及带宽: 三.用户电

浏览器的工作原理(转)

简介 网络浏览器很可能是使用最广的软件.在这篇入门文章中,我将会介绍它们的幕后工作原理.我们会了解到,从您在地址栏输入google.com直到您在浏览器屏幕上看到 Google 首页的整个过程中都发生了些什么. 目录 简介 我们要讨论的浏览器 浏览器的主要功能 浏览器的高层结构 呈现引擎 呈现引擎 主流程 主流程示例 解析和 DOM 树构建 解析 - 综述 语法 解析器和词法分析器的组合 翻译 解析示例 词汇和语法的正式定义 解析器类型 自动生成解析器 HTML 解析器 HTML 语法定义 非与

C/S和B/S结构概念

1.什么是C/S结构 C/S (Client/Server)结构,即客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销. C/S结构可以看做是胖客户端架构.客户端实现绝大多数的业务逻辑处理和界面展示,作为客户端的部分需要承受很大的压力,从分利用客户端的资源,对客户机的要求较高. 其实现可以是客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连

浏览器的工作原理:新式网络浏览器幕后揭秘

本文转载自html5rocks,考虑到有时候html5rocks不方便访问,所以转载过来. 序言 这是一篇全面介绍 Webkit 和 Gecko 内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果.在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据(请参见资源),并花了很多时间来研读网络浏览器的源代码.她写道: 在 IE 占据 90% 市场份额的年代,我们除了把浏览器当成一个"黑箱",什么也做不了.但是现在,开放源代码的浏览器拥有了过半的市场份额,因此,是时候来