【在浏览器输入网址后,都发生了什么?一张图带你了解】

在浏览器输入网址后,都发生了什么?一张图带你了解

在这里插入图片描述

1. 域名解析:寻找服务器的IP地址

步骤
① 浏览器输入:http://www.baidu.com
② 查找浏览器自身 DNS 缓存:chrome://net-internals/#dns
③ Windows 系统:查找系统 hosts 文件、Linux 系统:查找 /etc/hosts 文件
④ 浏览器就会发起一个 DNS 系统调用(向本地域名服务器发起域名解析请求)
⑤ 本地域名服务器 LDNS 替我们的浏览器发起 迭代 DNS 解析请求
⑥ 本地域名服务器把查询 IP 结果返回客户端(浏览器)

2. 建立HTTP连接:客户端与服务器的握手

当计算机获取到IP地址之后就可以向服务器发起HTTP请求了。我们的电脑(客户端)和服务器之间通过三次握手建立HTTP连接,连接建立好之后,客户端和服务器之间就可以传输数据了。
三次握手简单地说就是客户端向服务器喊话:

1、客户端:兄弟你在吗?收到请回答。
2、服务器:兄弟我在呢,你能听到我说话吗?
3、客户端:我能听到,我们开始传数据吧。

3. 发送HTTP请求:数据传输

HTTP连接建立之后,浏览器会向服务器发送HTTP请求,请求服务器返回网页内容。
发送HTTP请求的过程通常是这样的:

  1. 浏览器向服务器发送一个 HTTP 请求报文,其中包含了请求的资源路径、请求方法等信息。
  2. 服务器接收到请求报文后,会返回一个 HTTP 响应报文,其中包含了资源内容、响应状态码等信息。
  3. 浏览器接收到响应报文后,会对资源内容进行解析,并将其显示在浏览器中。

「HTTP请求是整个过程中最核心的步骤,它决定了我们最终看到的网页内容。」

HTTP请求完成后,浏览器会渲染网页,将 HTML 代码转换为我们可以看到的内容。
渲染网页的过程通常是这样的:

  1. 浏览器会解析 HTML 代码,并将其转换为 DOM 树。
  2. 浏览器会根据 DOM 树,将网页中的元素显示在浏览器中。
  3. 浏览器会根据 CSS 代码,对网页中的元素进行美化。
  4. 浏览器会根据 JavaScript 代码,对网页中的元素进行动态交互。

渲染网页是整个过程中很耗时的步骤,如果网页内容较多,渲染时间可能会比较长。渲染完成之后,一个完整的网页就出现在我们面前了

4. 断开连接:结束数据传输

当客户端和服务器之间数据传输完成,要断开连接时,需要通过四次握来断开,四次握手就是四次交流,客户端和服务器通过这四次交流确定没什么新数据要传了,而且之前的数据都已经传完了,最后就可以断开连接了。
四次握手的过程大概是这样的:

1、客户端:兄弟我没东西要传了,我要断开连接了
2、服务器:好的,我知道了,我还有点东西没传完,我传完了告诉你
3、服务器:兄弟,我东西都传好了,我们可以断开连接了
4、客户端:好的,我们断开吧

5.总结

我们在浏览器输入网址回车后,大概就是发生这么几件事:
域名解析(获取IP地址)、
建立HTTP连接、
发送HTTP请求、
数据传输、
渲染网页、
断开HTTP连接(不一定会马上断开)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值