浏览器原理

时间:2021-08-04
本文章向大家介绍浏览器原理,主要包括浏览器原理使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
浏览器的主要组件包括:
  1. 用户界面 - 包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示的你请求的页面外,其他显示的各个部分都属于用户界面。
  2. 浏览器引擎 - 在用户界面和渲染引擎之间传送指令。
  3. 渲染引擎 - 负责显示请求的内容。如果请求的内容是 HTML,它就负责解析 HTML 和 CSS 内容,并将解析后的内容显示在屏幕上。(构建DOM树与渲染树)
  4. 网络 - 用于网络调用,比如 HTTP 请求。其接口与平台无关,并为所有平台提供底层实现。
  5. 用户界面后端 - 用于绘制基本的窗口小部件,比如组合框和窗口。其公开了与平台无关的通用接口,而在底层使用操作系统的用户界面方法。
  6. JavaScript 解释器。用于解析和执行 JavaScript 代码,比如chrome的javascript解释器是V8。
  7. 数据存储。这是持久层。浏览器需要在硬盘上保存各种数据,例如 Cookie。新的 HTML 规范 (HTML5)定义了“网络数据库”,这是一个完整(但是轻便)的浏览器内数据库。
内核分成两部分:渲染引擎(layout engineer或者Rendering Engine)和JS引擎:
  1. Trident 内核:IE
  2. Gecko 内核:NETSCAPE6 及以上版本,火狐
  3. Presto 内核:Opera7 及以上。[Opera 内核原为:Presto,现为:Blink;]
  4. Webkit内核:Safari,Chrome等。[Chrome的:Blink(WebKit的分支)]
  1. 重绘 (Repaint):当页面中元素样式的改变并不影响它在文档流中的位置时(例如:color、background-color、visibility等),浏览器会将新样式赋予给元素并重新绘制它,这个过程称为重绘。
  2. 回流 (Reflow):当Render Tree中部分或全部元素的尺寸、结构、或某些属性发生改变时,浏览器重新渲染部分或全部文档的过程称为回流。
3 浏览器渲染内存解析:
1 电脑只能识别二进制=》编程语言(协议)=》高级语言
2 浏览器加载HTML文档:
2.1 程序是运行在电脑内存中:
分别是预处理(Prepressing)、编译(Compilation)、汇编(Assembly)和链接(Linking)
编译:主要是进行词法分析,语法分析,语义分析,中间语言生成。

原文地址:https://www.cnblogs.com/terrymin/p/15099076.html