我的编程空间,编程开发者的网络收藏夹
学习永远不晚

从输入URL到浏览器显示页面的过程中都发生了什么?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

从输入URL到浏览器显示页面的过程中都发生了什么?

用户在浏览器中输入一个 url 或直接点开一个 url 后,就可以看到网页内容了。虽然可以直接显示,但在这背后却经过了非常复杂的操作,主要有五大过程:

1. 浏览器根据域名找到对应的 ip 地址(远程服务器)

        ip 指的是网络为每一台电脑分配的一个地址。由于 ip 地址不容易被记住,所以有了域名,浏览器拿到域名后,首先要先把域名解析成 ip,然后找到 ip 对应的机器。解析域名通常使用的方法是 DNS 解析,为了让查找过程更高效,浏览器和操作系统都会将每次的解析结果缓存起来,在下次解析的时候,就会先从缓存中去查找 ip(解析方式:查找本地缓存中 ——> DNS数据缓存中 ——> DNS解析对应ip)。

2. 浏览器与远程服务器建立连接(tcp连接 三次握手)

找到对应的 ip 后,就要建立 TCP 连接了,只有连接成功,双方才可以发送数据。连接分为三次,分别是浏览器向服务器端发送 SYN 请求;服务器接收到请求后,会向浏览器端发送 SYN/ACK 数据包进行确认信息;最后浏览器会向服务器端传入 ACK 数据包来表示可以通信了。

3. 浏览器与远程服务器发送和接收数据

建立连接后,浏览器和服务器就可以进行通信了。浏览器通过向服务器发送 http 请求,从而获得响应数据。这其中的过程包含了:请求报文(请求行、请求头、主体)、响应报文(状态行、响应头、响应正文)。

4. 浏览器与远程服务器断开连接(tcp断开 四次挥手)

两端通信结束之后,为了不浪费系统资源,就需要考虑断开连接了。TCP 的断开分为四次,因为在浏览器向服务器端发出可以断开连接信息的时候,服务器可能还存在一些数据没有传输完成,这时服务器需要去确认一下数据是否全都传输完成,如果全都完成了,服务器才会告诉浏览器可以断开了。

5. 浏览器渲染

1)构建 DOM 树:渲染进程将 HTML 内容转换为能够读懂的 DOM 树结构;

2)样式计算:渲染引擎将 CSS 样式表转化为浏览器可以理解的 styleSheets,计算出 DOM 节点的样式;

3)布局阶段:创建布局树,并计算元素的布局信息;(排除script、meta等功能化和非视觉节点)

4)分层:对布局树进行分层,并生成分层树;(生成图层树,因为有不同的层级要求)

5)栅格化:合并线程将图层分图块,并栅格化将图块转换成位图;(视图进行分割)

6)显示:合并线程发送绘制图块命令给浏览器进程。浏览器进程根据指令生成页面,并显示在页面;

来源地址:https://blog.csdn.net/forever__fish/article/details/129017711

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

从输入URL到浏览器显示页面的过程中都发生了什么?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

从输入URL到页面显示过程原理是什么

这篇文章主要讲解了“从输入URL到页面显示过程原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“从输入URL到页面显示过程原理是什么”吧!前言说说从输入 URL 到页面显示的过程,这是
2023-07-06

面试必问:从输入url到页面展示到底发生了什么

刚开始写这篇文章还是挺纠结的,因为网上搜索“从输入url到页面展示到底发生了什么”,你可以搜到一大堆的资料。而且面试这道题基本是必考题,二月份面试的时候,虽然知道这个过程发生了什么,不过当面试官一步步追问下去的,很多细节就不太清楚了。本文的
2023-07-26

编程热搜

目录