浏览器工作原理与实践
00-开篇词-参透了浏览器的工作原理,你就能解决80%的前端难题.html
01-01-Chrome架构:仅仅打开了1个页面,为什么有4个进程?.html
02-02-TCP协议:如何保证页面文件能被完整送达浏览器?.html
03-03-HTTP请求流程:为什么很多站点第二次打开速度会很快?.html
04-04-导航流程:从输入URL到页面展示,这中间发生了什么?.html
05-05-渲染流程(上):HTML、CSS和JavaScript,是如何变成页面的?.html
06-06-渲染流程(下):HTML、CSS和JavaScript,是如何变成页面的?.html
07-07-变量提升:JavaScript代码是按顺序执行的吗?.html
08-08-调用栈:为什么JavaScript代码会出现栈溢出?.html
09-09-块级作用域:var缺陷以及为什么要引入let和const?.html
10-10-作用域链和闭包:代码中出现相同的变量,JavaScript引擎是如何选择的?.html
11-11-this:从JavaScript执行上下文的视角讲清楚this.html
12-12-栈空间和堆空间:数据是如何存储的?.html
13-13-垃圾回收:垃圾数据是如何自动回收的?.html
14-14-编译器和解释器:V8是如何执行一段JavaScript代码的?.html
15-15-消息队列和事件循环:页面是怎么“活”起来的?.html
16-16-WebAPI:setTimeout是如何实现的?.html
17-17-WebAPI:XMLHttpRequest是怎么实现的?.html
18-18-宏任务和微任务:不是所有任务都是一个待遇.html
19-19-Promise:使用Promise,告别回调函数.html
20-20-async-await:使用同步的方式去写异步代码.html
21-21-Chrome开发者工具:利用网络面板做性能分析.html
22-22-DOM树:JavaScript是如何影响DOM树构建的?.html
23-23-渲染流水线:CSS如何影响首次加载时的白屏时间?.html
24-24-分层和合成机制:为什么CSS动画比JavaScript高效?.html
25-25-页面性能:如何系统地优化页面?.html
26-26-虚拟DOM:虚拟DOM和实际的DOM有何不同?.html
27-27-渐进式网页应用(PWA):它究竟解决了Web应用的哪些问题?.html
28-28-WebComponent:像搭积木一样构建Web应用.html
29-29-HTTP-1:HTTP性能优化.html
30-30-HTTP-2:如何提升网络速度?.html
31-31-HTTP-3:甩掉TCP、TLS的包袱,构建高效网络.html
32-32-同源策略:为什么XMLHttpRequest不能跨域请求资源?.html
33-33-跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?.html
34-34-CSRF攻击:陌生链接不要随便点.html
35-35-安全沙箱:页面和系统之间的隔离墙.html
36-36-HTTPS:让数据传输更安全.html
37-结束语-大道至简.html
38-第二季回归-这次我们来专门聊聊V8.html
39-结课测试-这些浏览器的知识你都掌握了吗?.html
40-加餐一-浏览上下文组:如何计算Chrome中渲染进程的个数?.html
41-加餐二-任务调度:有了setTimeOut,为什么还要使用rAF?.html
42-加餐三-加载阶段性能:使用Audits来优化Web性能.html
43-加餐四-页面性能工具:如何使用Performance?.html
44-加餐五-性能分析工具:如何分析Performance中的Main指标?.html
45-加餐六-HTTPS:浏览器如何验证数字证书?.html