浏览器结构


作者:Seiya

时间:2019年09月02日


前言


浏览器的功能是从服务器上取回你想要的资源,然后展示在浏览器窗口当中。资源通常是 HTML 文件,也可能是 PDF,图片,或者其他类型的内容。资源的位置通过用户提供的 URI(Uniform Resource Identifier) 来确定。

浏览器解释和展示 HTML 文件的方法,在 HTML 和 CSS 的标准中有详细介绍。这些标准由 Web 标准组织 W3C(World Wide Web Consortium) 维护。

不同浏览器的用户界面大都十分接近,有很多共同的 UI 元素:

  • 一个地址栏

  • 后退和前进按钮

  • 书签选项

  • 刷新和停止按钮

  • 主页按钮





浏览器高层架构


  • 用户界面

    用户界面包含了地址栏,前进后退按钮,书签菜单等等,除了请求页面之外所有你看到的内容都是用户界面的一部分;

  • 浏览器引擎

    浏览器引擎负责让 UI 和渲染引擎协调工作;

  • 渲染引擎

    渲染引擎负责展示请求内容。如果请求的内容是 HTML,渲染引擎会解析 HTML 和 CSS,然后将内容展示在屏幕上;

  • 网络组件

    网络组件负责网络调用,例如 HTTP 请求等,使用一个平台无关接口,下层是针对不同平台的具体实现;

  • UI 后端

    UI 后端用于绘制基本 UI 组件,例如下拉列表框和窗口。UI 后端暴露一个统一的平台无关的接口,下层使用操作系统的 UI 方法实现;

  • Javascript 引擎

    Javascript 引擎用于解析和执行 Javascript 代码;

  • 数据存储

    数据存储组件是一个持久层。浏览器可能需要在本地存储各种各样的数据,例如 Cookie 等。浏览器也需要支持诸如 localStorage,IndexedDB,WebSQL 和 FileSystem 之类的存储机制;


最后更新时间: 2019-9-2 10:48:33