浏览器工作原理与实践- 极客时间课程推荐/优惠

浏览器工作原理与实践--极客时间课程推荐/优惠

透过浏览器看懂前端本质
李兵前盛大创新院高级研究员
专栏 | 46讲 | 57426人已学习
优惠价¥59原价:129
官网优惠购买

版权声明

本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。

课程详情

你将获得

  • 前端性能优化的底层逻辑;
  • 浏览器页面渲染的核心流程;
  • 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. 浏览器安全

和浏览器打交道的内容都是通过网络进行的,但通常通过网络传输的内容是不被浏览器信任的,所以对于可能存在危险的地方都要重点防护。本模块会通过实例,向你介绍为何会出现各种安全问题,以及如何避免这些安全攻击。

课程目录

开篇词

  • 开篇词 | 参透了浏览器的工作原理,你就能解决80%的前端难题

宏观视角下的浏览器

  • 01 | Chrome架构:仅仅打开了1个页面,为什么有4个进程?
  • 02 | TCP协议:如何保证页面文件能被完整送达浏览器?
  • 03 | HTTP请求流程:为什么很多站点第二次打开速度会很快?
  • 04 | 导航流程:从输入URL到页面展示,这中间发生了什么?
  • 05 | 渲染流程(上):HTML、CSS和JavaScript,是如何变成页面的?
  • 06 | 渲染流程(下):HTML、CSS和JavaScript,是如何变成页面的?

浏览器中的JavaScript执行机制

  • 07 | 变量提升:JavaScript代码是按顺序执行的吗?
  • 08 | 调用栈:为什么JavaScript代码会出现栈溢出?
  • 09 | 块级作用域:var缺陷以及为什么要引入let和const?
  • 10 | 作用域链和闭包 :代码中出现相同的变量,JavaScript引擎是如何选择的?
  • 11 | this:从JavaScript执行上下文的视角讲清楚this

V8工作原理

  • 12 | 栈空间和堆空间:数据是如何存储的?
  • 13 | 垃圾回收:垃圾数据是如何自动回收的?
  • 14 | 编译器和解释器:V8是如何执行一段JavaScript代码的?

浏览器中的页面循环系统

  • 15 | 消息队列和事件循环:页面是怎么“活”起来的?
  • 16 | WebAPI:setTimeout是如何实现的?
  • 17 | WebAPI:XMLHttpRequest是怎么实现的?
  • 18 | 宏任务和微任务:不是所有任务都是一个待遇
  • 19 | Promise:使用Promise,告别回调函数
  • 20 | async/await:使用同步的方式去写异步代码

浏览器中的页面

  • 21 | Chrome开发者工具:利用网络面板做性能分析
  • 22 | DOM树:JavaScript是如何影响DOM树构建的?
  • 23 | 渲染流水线:CSS如何影响首次加载时的白屏时间?
  • 24 | 分层和合成机制:为什么CSS动画比JavaScript高效?
  • 25 | 页面性能:如何系统地优化页面?
  • 26 | 虚拟DOM:虚拟DOM和实际的DOM有何不同?
  • 27 | 渐进式网页应用(PWA):它究竟解决了Web应用的哪些问题?
  • 28 | WebComponent:像搭积木一样构建Web应用

浏览器中的网络

  • 29 | HTTP/1:HTTP性能优化
  • 30|HTTP/2:如何提升网络速度?
  • 31|HTTP/3:甩掉TCP、TLS 的包袱,构建高效网络

浏览器安全

  • 32 | 同源策略:为什么XMLHttpRequest不能跨域请求资源?
  • 33 | 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?
  • 34 | CSRF攻击:陌生链接不要随便点
  • 35 | 安全沙箱:页面和系统之间的隔离墙
  • 36 | HTTPS:让数据传输更安全

结束语

  • 结束语 | 大道至简
  • 第二季回归 | 这次我们来专门聊聊V8
  • 结课测试 | 这些浏览器的知识你都掌握了吗?

课外加餐

  • 加餐一|浏览上下文组:如何计算Chrome中渲染进程的个数?
  • 加餐二|任务调度:有了setTimeOut,为什么还要使用rAF?
  • 加餐三|加载阶段性能:使用Audits来优化Web性能
  • 加餐四|页面性能工具:如何使用Performance?
  • 加餐五 | 性能分析工具:如何分析Performance中的Main指标?
  • 加餐六|HTTPS:浏览器如何验证数字证书?

作者介绍

李兵,前盛大创新院高级研究员。李兵已经深耕浏览器和前端领域十余年,有着丰富的理论和实践经验。2008年,他基于Chromium和IE发布了第一款双核浏览器(太阳花浏览器),在没有任何宣传的情况下,日活跃用户数达到20多万;而后进入盛大创新院,参与WebOS项目,在团队中负责HTML5特性的实现;再之后,在顺网科技和团队打造了一款给全国网吧使用的“F1浏览器”,日启量达2000万。

作者其他课程

图解 Google V8 - 极客时间课程推荐/分享/优惠/折扣
图解 Google V8
一门课搞懂 JavaScript 执行逻辑
李兵前盛大创新院高级研究员
专栏 | 27174人已学习
优惠价¥59原价:99
官网优惠购买

推荐

安全攻防技能30讲 - 极客时间课程推荐/分享/优惠/折扣
安全攻防技能30讲
由浅入深,带你构建系统级安全防御体系
何为舟前微博安全研发负责人
专栏 | 35444人已学习
优惠价¥59原价:129
官网优惠购买
编译原理实战课 - 极客时间课程推荐/分享/优惠/折扣
编译原理实战课
带你吃透编译技术核心概念与算法
宫文学北京原点代码CEO
专栏 | 26549人已学习
优惠价¥59原价:129
官网优惠购买
深度学习推荐系统实战 - 极客时间课程推荐/分享/优惠/折扣
深度学习推荐系统实战
带你从0到1搭建工业级推荐系统
王喆Roku推荐系统架构负责人,前hulu高级研究员,《深度学习推荐系统》作者
专栏 | 34517人已学习
优惠价¥68原价:199
官网优惠购买
雷蓓蓓的项目管理实战课 - 极客时间课程推荐/分享/优惠/折扣
雷蓓蓓的项目管理实战课
使众人行,如何带领一群人成事
雷蓓蓓前网易杭研项目管理部总监,《网易一千零一夜》核心作者
专栏 | 55464人已学习
优惠价¥59原价:129
官网优惠购买
Node.js开发实战 - 极客时间课程推荐/分享/优惠/折扣
Node.js开发实战
带你开发一个完整的Node.js项目
杨浩腾讯高级工程师
视频课 | 37795人已学习
优惠价¥68原价:199
官网优惠购买
分布式数据库30讲 - 极客时间课程推荐/分享/优惠/折扣
分布式数据库30讲
从功能特性到运行机制,讲透本质
王磊光大银行首席数据架构师
专栏 | 29784人已学习
优惠价¥59原价:129
官网优惠购买