文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-28 15:21

关注

用户在浏览器中输入一个 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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯