
浏览器工作原理和实践
文章平均质量分 86
浏览器工作原理和实践
前端探险家
路漫漫其修远兮,吾将上下而求索...
展开
-
浏览器工作原理和实践——栈空间和堆空间
对于前端开发者来说,JavaScript 的内存机制是一个不被经常提及的概念 ,因此很容易被忽视。但是如果你想成为行业专家,并打造高性能前端应用,那么你就必须要搞清楚 JavaScript 的内存机制了。首先,我们先看下面这两段代码:function foo(){ var a = 1 var b = a a = 2 console.log(a) console.log(b)}foo()function foo(){ var a = {name:"极转载 2021-06-01 15:03:36 · 686 阅读 · 0 评论 -
浏览器工作原理和实践——渲染流程
HTML、CSS和JavaScript变成页面的流程1.构建 DOM 树2.样式计算2.1 把 CSS 转换为浏览器能够理解的结构2.2 转换样式表中的属性值,使其标准化2.3 计算出 DOM 树中每个节点的具体样式3.布局阶段3.1 创建布局树3.2 布局计算4.分层5.图层绘制6.光栅化7.合成和显示8.渲染流水线大总结9.相关概念(“重排”“重绘”和“合成”)9.1 更新了元素的几何属性(重排)9.2 更新元素的绘制属性(重绘)9.3 直接合成阶段HTML、CSS、JavaScript 数据,经过原创 2021-05-18 18:20:03 · 968 阅读 · 0 评论 -
浏览器工作原理和实践——导航流程
从输入URL到页面展示,这中间发生了什么?1. 用户输入2. URL 请求过程2.1重定向2.2响应数据类型处理3. 准备渲染进程4. 提交文档5. 渲染阶段6.总结“在浏览器里,从输入 URL 到页面展示,这中间发生了什么? ”这是一道经典的面试题,能比较全面地考察应聘者知识的掌握程度,其中涉及到了网络、操作系统、Web 等一系列的知识。那么今天我们就一起来探索下这个流程,下图是我梳理出的“从输入 URL 到页面展示完整流程示意图”:从图中可以看出,整个过程需要各个进程之间的配合,所以在开始正式流原创 2021-05-14 10:40:39 · 707 阅读 · 0 评论 -
浏览器工作原理面试题一:从输入 URL 到页面展示,这中间发生了什么?
从输入 URL 到页面展示的过程用户输入url并回车浏览器进程检查url,组装协议,构成完整的url浏览器进程通过进程间通信(IPC)把url请求发送给网络进程网络进程接收到url请求后检查本地缓存是否缓存了该请求资源,如果有则将该资源返回给浏览器进程如果没有,网络进程向web服务器发起http请求(网络请求),请求流程如下:5.1.进行DNS解析,获取服务器ip地址,端口5.2.利用ip地址和服务器建立tcp连接5.3.构建请求头信息5.4.发送请求头信息5.5.服务器响应后,网络进原创 2021-05-13 11:58:17 · 987 阅读 · 0 评论 -
浏览器工作原理和实践——HTTP请求流程
HTTP请求流程浏览器端发起 HTTP 请求流程1.构建请求2.查找缓存3. 准备 IP 地址和端口4. 等待 TCP 队列5. 建立 TCP 连接6. 发送 HTTP 请求7. 服务器处理请求8. 服务器响应请求9. 断开TCP链接为什么很多站点第二次打开速度会很快?登录状态是如何保持的?TCP 协议是保证数据完整传输的,一个 TCP 连接过程包括了建立连接、传输数据和断开连接三个阶段。而 HTTP 协议,正是建立在 TCP 连接基础之上的。HTTP 是一种允许浏览器向服务器获取资源的协议,是 Web原创 2021-05-12 11:50:43 · 1132 阅读 · 0 评论 -
浏览器工作原理和实践——TCP协议
TCP协议:如何保证页面文件能被完整送达浏览器?IP:把数据包送达目的主机UDP:把数据包送达应用程序TCP:把数据完整地送达应用程序总结在网络中,一个文件通常会被拆分为很多数据包来进行传输,而数据包在传输过程中又有很大概率丢失或者出错。那么如何保证页面文件能被完整地送达浏览器呢?下面将分别从 “数据包如何送达主机”、 “主机如何将数据包转交给应用” 和 “数据是如何被完整地送达应用程序” 这三个角度来讲述数据的传输过程。IP:把数据包送达目的主机数据包要在互联网上进行传输,就要符合网际协议(Int原创 2021-05-10 15:07:14 · 851 阅读 · 0 评论 -
浏览器工作原理和实践——进程和线程
进程和线程并行处理线程 VS 进程进程和线程之间的关系单进程浏览器的弊端目前多进程架构在介绍进程和线程之前,先讲解下什么是并行处理,因为如果你理解了并行处理的概念,那么再理解进程和线程之间的关系就会变得轻松许多。并行处理计算机中的并行处理就是同一时刻处理多个任务,比如我们要计算下面这三个表达式的值,并显示出结果。A = 1+2B = 20/5C = 7*8在编写代码的时候,我们可以把这个过程拆分为四个任务:任务 1 是计算 A=1+2;任务 2 是计算 B=20/5;任务 3 是计算原创 2021-05-08 10:45:51 · 592 阅读 · 2 评论