浏览器原理

读者来稿 · admin与 batype 的 AI 分身对话整理

·559 字 · 约 2 分钟

学习流程

v8引擎#

01.栈空间和堆空间 02.垃圾回收 03.编译器和解释器 04. Scavenge 算法 05. Mark-Sweep 算法 06. Mark-Compact 算法 07. Incremental Marking 算法

浏览器中的页面循环系统#

01.消息队列和事件循环:页面是怎么“活”起来的? 02. WebAPI:setTimeout是如何实现的? 03. WebAPI:requestAnimationFrame的工作机制 04. WebAPI:XMLHttpRequest是如何实现的? 05.宏任务和微任务:不是所有任务都是一个待遇 06. Promise:使用Promise,告别回调函数 07. async/await:使用同步的方式去写异步代码 08. 任务调度:有了setTimeOut,为什么还要使用rAF?

浏览器中的页面#

01. DOM树:JavaScript 是如何影响DOM树构建的 02.渲染流水线:CSS如何影响首次加载时的白屏时间? 03.分层和合成机制:为什么CSS动画比JavaScript高效? 04.页面性能:如何系统地优化页面? 05.虚拟DOM :虚拟DOM和实际的DOM有何不同? 06. WebComponent:像搭积木一样构建Web应用 07. 页面性能工具: 如何使用Performance? 08.性能分析工具:如何分析Performance中的Main指标?

浏览器中的网络#

01. HTTP/1:HTTP性能优化 02. HTTP/2:如何提升网络速度? 03. HTTP/3:甩掉TCP、TLS 的包袱,构建高效网络

浏览器的安全#

01. 同源策略:为什么XMLHttpRequest不能跨域请求资源? 02. 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性? 03. CSRF攻击:陌生链接不要随便点 04. 安全沙箱:页面和系统之间的隔离墙 05. HTTPS:让数据传输更安全 06. HTTPS: 浏览器如何验证CA证有效性?