浏览器工作原理

目前使用的主流浏览器有五个:IE、Firefox、Safari、Chrome和 Opera浏览器。

浏览器的主要功能

浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示您想要访问的网络资源(资源一般是指 HTML 文档).

浏览器解读HTML文件的方式是在 HTML 和 CSS 规范中指定的。这些规范由W3C进行维护。
现在浏览器因为没有完全遵守这些规范,所有有了兼容性的问题。

浏览器的高层结构(High Level Structure)

浏览器工作原理_第1张图片
image.png
  • 用户界面 - 包括地址栏、前进/后退按钮、书签菜单等。
  • 浏览器引擎 - 在用户界面和渲染引擎之间传送指令。
  • 渲染引擎 - 负责显示请求的内容。如果请求的内容是 HTML,它就负责解析 HTML 和 CSS 内容,并将解析后的内容显示在屏幕上。
  • 网络 - 用于网络调用,比如 HTTP 请求。
  • 用户界面后端 - 用于绘制基本的窗口小部件,比如组合框和窗口。
  • JavaScript 解释器。用于解析和执行 JavaScript 代码,比如chrome的javascript解释器是V8。
  • 数据存储。这是持久层。浏览器需要在硬盘上保存各种数据,例如 Cookie。

ps: Chrome 浏览器为每个标签页(Tab)都分配了各自的渲染引擎实例,每个标签页都是一个独立的进程(即每个标签页面都在独立的“沙箱”内运行,在提高安全性的同时,一个标签页面的崩溃也不会导致其他标签页面被关闭)。

渲染引擎: 职责就是渲染(解析,转换),即在浏览器窗口中显示请求回来的内容。
内容拿回来之后是通过
解析html以构建dom树 -> 构建render树 -> 布局render树 -> 绘制render树
一步步完成的。
这个过程是逐步完成的,什么内容拿回来早就先把什么内容呈现在屏幕上,这样子就可以提高用户体验;并不会等到所有的html都解析完成之后再去构建和布局render树。

你可能感兴趣的:(浏览器工作原理)