极客时间出品的专栏课《浏览器工作原理与实践》作者李兵,新客首单到手价59元,现免费分享。
课程介绍
浏览器,作为互联网世界的“咽喉”,不仅是上网的入口,更是我们日常生活和工作中不可或缺的工具。每天,从浏览新闻、查看邮件,到在线购物、娱乐休闲,乃至各种专业的应用服务,都依赖于浏览器的稳定与高效。特别是在云计算日益普及、HTML5技术迅猛发展的今天,浏览器的重要性更是达到了前所未有的高度。它不仅是用户与互联网交互的桥梁,更是连接各行各业、驱动应用创新的关键力量。
在这个前端技术日新月异、大爆炸式增长的时代,掌握浏览器的工作原理显得尤为重要。通过学习浏览器的内部机制,前端开发者能够站在更高的维度审视页面,准确评估Web开发项目的可行性,从而在快速变化的技术潮流中把握住问题的本质,实现技能的进阶。这不仅有助于提升个人竞争力,更能够在项目中发挥出更大的价值,推动整个行业的持续发展。
为了帮助开发者快速而全面地理解浏览器,李兵与极客时间团队精心制作了一部小视频“工程师视角下的浏览器是怎样的”。这部视频将带你从宏观的角度审视浏览器的构成与运作,深入剖析其内部机制,让你在短时间内建立起对浏览器的全面认识。无论你是前端新手,还是资深开发者,这部视频都将为你带来全新的视角和启发,帮助你在前端技术的道路上走得更远、更稳。
课程目录
│ ├── 00开篇词丨参透了浏览器的工作原理,你就能解决80%的前端难题.mp3
│ ├── 00开篇词丨参透了浏览器的工作原理,你就能解决80%的前端难题.mp4
│ └── 00开篇词丨参透了浏览器的工作原理,你就能解决80%的前端难题.pdf
├── 02-宏观视角下的浏览器 (6讲)
│ ├── 01丨Chrome架构:仅仅打开了1个页面,为什么有4个进程?.html
│ ├── 01丨Chrome架构:仅仅打开了1个页面,为什么有4个进程?.mp3
│ ├── 01丨Chrome架构:仅仅打开了1个页面,为什么有4个进程?.pdf
│ ├── 02丨TCP协议:如何保证页面文件能被完整送达浏览器?.html
│ ├── 02丨TCP协议:如何保证页面文件能被完整送达浏览器?.mp3
│ ├── 02丨TCP协议:如何保证页面文件能被完整送达浏览器?.pdf
│ ├── 03丨HTTP请求流程:为什么很多站点第二次打开速度会很快?.html
│ ├── 03丨HTTP请求流程:为什么很多站点第二次打开速度会很快?.mp3
│ ├── 03丨HTTP请求流程:为什么很多站点第二次打开速度会很快?.pdf
│ ├── 04丨导航流程:从输入URL到页面展示,这中间发生了什么?.html
│ ├── 04丨导航流程:从输入URL到页面展示,这中间发生了什么?.mp3
│ ├── 04丨导航流程:从输入URL到页面展示,这中间发生了什么?.pdf
│ ├── 05丨渲染流程(上):HTML、CSS和JavaScript,是如何变成页面的?.html
│ ├── 05丨渲染流程(上):HTML、CSS和JavaScript,是如何变成页面的?.mp3
│ ├── 05丨渲染流程(上):HTML、CSS和JavaScript,是如何变成页面的?.pdf
│ ├── 06丨渲染流程(下):HTML、CSS和JavaScript,是如何变成页面的? .html
│ ├── 06丨渲染流程(下):HTML、CSS和JavaScript,是如何变成页面的? .mp3
│ └── 06丨渲染流程(下):HTML、CSS和JavaScript,是如何变成页面的? .pdf
├── 03-浏览器中的JavaScript执行机制 (5讲)
│ ├── 07丨变量提升:JavaScript代码是按顺序执行的吗?.html
│ ├── 07丨变量提升:JavaScript代码是按顺序执行的吗?.mp3
│ ├── 07丨变量提升:JavaScript代码是按顺序执行的吗?.pdf
│ ├── 08丨调用栈:为什么JavaScript代码会出现栈溢出?.html
│ ├── 08丨调用栈:为什么JavaScript代码会出现栈溢出?.mp3
│ ├── 08丨调用栈:为什么JavaScript代码会出现栈溢出?.pdf
│ ├── 09丨块级作用域:var缺陷以及为什么要引入let和const?.html
│ ├── 09丨块级作用域:var缺陷以及为什么要引入let和const?.mp3
│ ├── 09丨块级作用域:var缺陷以及为什么要引入let和const?.pdf
│ ├── 10丨作用域链和闭包:代码中出现相同的变量,JavaScript引擎是如何选择的?.html
│ ├── 10丨作用域链和闭包:代码中出现相同的变量,JavaScript引擎是如何选择的?.mp3
│ ├── 10丨作用域链和闭包:代码中出现相同的变量,JavaScript引擎是如何选择的?.pdf
│ ├── 11丨this:从JavaScript执行上下文的视角讲清楚this.html
│ ├── 11丨this:从JavaScript执行上下文的视角讲清楚this.mp3
│ └── 11丨this:从JavaScript执行上下文的视角讲清楚this.pdf
├── 04-V8工作原理 (3讲)
│ ├── 12丨栈空间和堆空间:数据是如何存储的?.html
│ ├── 12丨栈空间和堆空间:数据是如何存储的?.mp3
│ ├── 12丨栈空间和堆空间:数据是如何存储的?.pdf
│ ├── 13丨垃圾回收:垃圾数据是如何自动回收的?.html
│ ├── 13丨垃圾回收:垃圾数据是如何自动回收的?.m4a
│ ├── 13丨垃圾回收:垃圾数据是如何自动回收的?.pdf
│ ├── 14丨编译器和解释器:V8是如何执行一段JavaScript代码的?.html
│ ├── 14丨编译器和解释器:V8是如何执行一段JavaScript代码的?.m4a
│ └── 14丨编译器和解释器:V8是如何执行一段JavaScript代码的?.pdf
├── 05-浏览器中的页面循环系统 (6讲)
│ ├── 15丨消息队列和事件循环:页面是怎么“活”起来的?.html
│ ├── 15丨消息队列和事件循环:页面是怎么“活”起来的?.m4a
│ ├── 15丨消息队列和事件循环:页面是怎么“活”起来的?.pdf
│ ├── 16丨WebAPI:setTimeout是如何实现的?.html
│ ├── 16丨WebAPI:setTimeout是如何实现的?.m4a
│ ├── 16丨WebAPI:setTimeout是如何实现的?.pdf
│ ├── 17丨WebAPI:XMLHttpRequest是怎么实现的?.html
│ ├── 17丨WebAPI:XMLHttpRequest是怎么实现的?.m4a
│ ├── 17丨WebAPI:XMLHttpRequest是怎么实现的?.pdf
│ ├── 18丨宏任务和微任务:不是所有任务都是一个待遇.html
│ ├── 18丨宏任务和微任务:不是所有任务都是一个待遇.m4a
│ ├── 18丨宏任务和微任务:不是所有任务都是一个待遇.pdf
│ ├── 19丨Promise:使用Promise,告别回调函数.html
│ ├── 19丨Promise:使用Promise,告别回调函数.m4a
│ ├── 19丨Promise:使用Promise,告别回调函数.pdf
│ ├── 20丨async-await:使用同步的方式去写异步代码.html
│ ├── 20丨async-await:使用同步的方式去写异步代码.m4a
│ └── 20丨async-await:使用同步的方式去写异步代码.pdf
├── 06-浏览器中的页面 (8讲)
│ ├── 21丨Chrome开发者工具:利用网络面板做性能分析.html
│ ├── 21丨Chrome开发者工具:利用网络面板做性能分析.m4a
│ ├── 21丨Chrome开发者工具:利用网络面板做性能分析.pdf
│ ├── 22丨DOM树:JavaScript是如何影响DOM树构建的?.html
│ ├── 22丨DOM树:JavaScript是如何影响DOM树构建的?.m4a
│ ├── 22丨DOM树:JavaScript是如何影响DOM树构建的?.pdf
│ ├── 23丨渲染流水线:CSS如何影响首次加载时的白屏时间?.html
│ ├── 23丨渲染流水线:CSS如何影响首次加载时的白屏时间?.m4a
│ ├── 23丨渲染流水线:CSS如何影响首次加载时的白屏时间?.pdf
│ ├── 24丨分层和合成机制:为什么CSS动画比JavaScript高效?.html
│ ├── 24丨分层和合成机制:为什么CSS动画比JavaScript高效?.m4a
│ ├── 24丨分层和合成机制:为什么CSS动画比JavaScript高效?.pdf
│ ├── 25丨页面性能:如何系统地优化页面?.html
│ ├── 25丨页面性能:如何系统地优化页面?.m4a
│ ├── 25丨页面性能:如何系统地优化页面?.pdf
│ ├── 26丨虚拟DOM:虚拟DOM和实际的DOM有何不同?.html
│ ├── 26丨虚拟DOM:虚拟DOM和实际的DOM有何不同?.m4a
│ ├── 26丨虚拟DOM:虚拟DOM和实际的DOM有何不同?.pdf
│ ├── 27丨渐进式网页应用(PWA):它究竟解决了Web应用的哪些问题?.html
│ ├── 27丨渐进式网页应用(PWA):它究竟解决了Web应用的哪些问题?.m4a
│ ├── 27丨渐进式网页应用(PWA):它究竟解决了Web应用的哪些问题?.pdf
│ ├── 28丨WebComponent:像搭积木一样构建Web应用.html
│ ├── 28丨WebComponent:像搭积木一样构建Web应用.m4a
│ └── 28丨WebComponent:像搭积木一样构建Web应用.pdf
├── 07-浏览器中的网络 (3讲)
│ ├── 29丨HTTP-1:HTTP性能优化.html
│ ├── 29丨HTTP-1:HTTP性能优化.m4a
│ ├── 29丨HTTP-1:HTTP性能优化.pdf
│ ├── 30|HTTP-2:如何提升网络速度?.html
│ ├── 30|HTTP-2:如何提升网络速度?.m4a
│ ├── 30|HTTP-2:如何提升网络速度?.pdf
│ ├── 31|HTTP-3:甩掉TCP、TLS的包袱,构建高效网络.html
│ ├── 31|HTTP-3:甩掉TCP、TLS的包袱,构建高效网络.m4a
│ └── 31|HTTP-3:甩掉TCP、TLS的包袱,构建高效网络.pdf
├── 08-浏览器安全 (5讲)
│ ├── 32丨同源策略:为什么XMLHttpRequest不能跨域请求资源?.html
│ ├── 32丨同源策略:为什么XMLHttpRequest不能跨域请求资源?.m4a
│ ├── 32丨同源策略:为什么XMLHttpRequest不能跨域请求资源?.pdf
│ ├── 33丨跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?.html
│ ├── 33丨跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?.m4a
│ ├── 33丨跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?.pdf
│ ├── 34丨CSRF攻击:陌生链接不要随便点.html
│ ├── 34丨CSRF攻击:陌生链接不要随便点.m4a
│ ├── 34丨CSRF攻击:陌生链接不要随便点.pdf
│ ├── 35丨安全沙箱:页面和系统之间的隔离墙.html
│ ├── 35丨安全沙箱:页面和系统之间的隔离墙.m4a
│ ├── 35丨安全沙箱:页面和系统之间的隔离墙.pdf
│ ├── 36丨HTTPS:让数据传输更安全.html
│ ├── 36丨HTTPS:让数据传输更安全.m4a
│ └── 36丨HTTPS:让数据传输更安全.pdf
├── 09-结束语 (1讲)
│ ├── 结束语丨大道至简.html
│ ├── 结束语丨大道至简.m4a
│ └── 结束语丨大道至简.pdf
└── 10-课外加餐 (1讲)
├── 加餐二|任务调度:有了setTimeOut,为什么还要使用rAF?.html
├── 加餐二|任务调度:有了setTimeOut,为什么还要使用rAF?.m4a
├── 加餐二|任务调度:有了setTimeOut,为什么还要使用rAF?.pdf
├── 加餐三|加载阶段性能:使用Audits来优化Web性能.html
├── 加餐三|加载阶段性能:使用Audits来优化Web性能.m4a
├── 加餐三|加载阶段性能:使用Audits来优化Web性能.pdf
├── 加餐一丨浏览上下文组:如何计算Chrome中渲染进程的个数?.html
├── 加餐一丨浏览上下文组:如何计算Chrome中渲染进程的个数?.m4a
└── 加餐一丨浏览上下文组:如何计算Chrome中渲染进程的个数?.pdf
11 directories, 124 files
以上就是极客时间李兵老师的专栏课《浏览器工作原理与实践》的详细介绍了。
本文由提供IT教程网提供,仅供学习交流使用,未经许可,禁止转载!
原课程地址:https://time.geekbang.org/column/intro/100033601,有能力的朋友请支持正版,谢谢!
评论(0)