081-浏览器工作原理与实践
# 浏览器工作原理与实践
透过浏览器看懂前端本质 李兵 前盛大创新院高级研究员
你将获得
- 前端性能优化的底层逻辑;
- 浏览器页面渲染的核心流程;
- JavaScript 运行机制解析;
- 浏览器网络及安全机制解析。
# 课程介绍
浏览器是上网的入口,是互联网的“咽喉”。我们每天的工作、学习和娱乐等都离不开浏览器,各行各业、越来越多的应用也都依赖于此,特别是随着云计算的普及和 HTML5 技术的快速发展,它的重要性更是与日俱增。
为了能准确评估 Web 开发项目的可行性,站在更高维度审视页面,以及在快节奏的前端技术迭代中把握住问题的本质,完成前端技能进阶,学习浏览器的工作原理就势在必行了。
特别是前端技术出现了大爆炸式增长,各种新技术层出不穷,为了避免疲于应付,你可以通过学习浏览器的工作原理,掌握前端知识的本源,以不变应万变。
为便于你快速对浏览器有个宏观的把控,李兵和极客时间团队专门做了一个小视频“工程师视角下的浏览器是怎样的”: 在这门讲解浏览器工作原理的课程中,李兵会用深入浅出的讲解方式、图文并茂的展现形式,把网络、页面渲染、JavaScript、浏览器安全等知识串联起来,从而让你高质量、高效率地学习这门课程,系统掌握浏览器工作原理,并同时把理论应用到前端实践中去。
# 课程设计
本课程共分为 7 大模块。
# 1. 宏观视角下的浏览器
本模块通过 Chrome 的多进程架构来介绍 HTTP 请求流程、导航流程和页面的渲染流程,带你从宏观视角建立浏览器的知识体系。
# 2. 浏览器中的 JavaScript 执行机制
虽然语法上和 C 语言很像,但是 JavaScript 背后的机制却又完全不同,很多人学习 JavaScript 时经常处于似懂非懂的状态。本模块则是站在浏览器的视角,来分析 JavaScript 代码的执行过程。如果你能掌握这些执行过程,那么很多诸如闭包、变量提升等疑难问题就会迎刃而解。
# 3. V8 工作原理
继续深入探讨来自 Google 的 JavaScript 引擎 V8,分析其执行流程,细化讲解 JavaScript 中数据是如何存储和回收的。通过本模块的学习,你离打造高性能且节约内存的 Web 应用就更近一步了。
# 4. 浏览器中的页面事件循环系统
要让不同类型的任务在主线程中有条不紊地执行,这就需要有一个事件循环系统,用来负责接收、调度这些不同的事件。本模块会深入探讨 Web 页面中的事件循环系统,讲解页面中的微任务和宏任务的实现机制,最后还会介绍一些 WebAPI 是如何与页面的事件循环系统结合 使用的。理解事件循环,能让你从更高维度理解页面是如何运行的,并加深你对页面中异步事件的理解。
# 5. 浏览器中的页面
页面是浏览器的核心,浏览器中的所有功能点都是服务于页面的。本模块会对页面做全面的介绍,包括构建页面的核心流程、页面性能的分析过程。最后还会介绍一些应用场景,比如流行的前端框架为什么要有虚拟 DOM,最近比较火的 PWA 的工作原理,以及 WebComponent。
# 6. 浏览器中的网络
网络的重要性毋庸置疑,但是很多前端工程师却 往往忽视它的存在。本模块通过 HTTP/1、HTTP/2 和 HTTP/3 的介绍,让你全面了解浏览器中的网络,并最终让你能向下理解其底层原理、向上理解其应用方向。
# 7. 浏览器安全
和浏览器打交道的内容都是通过网络进行的,但通常通过网络传输的内容是不被浏览器信任的,所以对于可能存在危险的地方都要重点防护。本模块会通过实例,向你介绍为何会出现各种安全问题,以及如何避免这些安全攻击。
资源下载 (opens new window)提取码:http://dt3.8tupian.net/2/29369a92b200.pg1