大致流程 [网络通信 / 数据渲染]
1. DNS解析,将域名解析为IP地址
2. 浏览器与服务器建立TCP连接(三次握手)
3. 浏览器向服务器发起HTTP请求
4. 服务器接收请求并响应,返回相应的HTML文件
5. 关闭TCP连接,四次挥手
6. 浏览器接收从服务器端返回的数据,并进行页面渲染(解析资源)。
解析url
DNS的查找过程分析?
DNS的查找过程解析:
- 浏览器会先检查是否存在缓存,因为如果访问过一次该域名的话,会把结果缓存在浏览器中。
- 操作系统也会有自己的DNS缓存,但在这之前,会检查域名是否存在于本地的Hosts文件中。
- 路由器中也会有自己的缓存。
- IPS DNS缓存 就是在客户端电脑上设置的首选DNS服务器。
- 在前边所有的情况下都没有找到缓存的情况下,会连接互联网,把请求转发到互联网的根域。
三次握手过程?
-
客户端发送SYN包到服务端,Hello兄弟我想创建一个连接
-
服务端收到客户端SYN包回复SYN+ACK,兄弟我收到连接请求可以连接
-
客户端回复服务端ACK包,好的,连接创建成功接下来将发送数据
Tcp连接断开四次挥手
-
浏览器端发消息通知服务器现在需要断开(第一次挥手)
-
服务器接到要断开的请求之后,给浏览器返回消息,告诉浏览器我正在准备释放(第二次挥手)
-
此时浏览器接到消息后正在等待服务器释放完成,而服务器正在准备释放的过程
-
当服务器释放完成后,再通知浏览器我已经释放完成了。(第三次挥手)
-
浏览器接收到服务器释放完成的消息后,再给服务器发送消息告诉服务器我已经知道你释放完成了,服务器收到消息后,就能确认自己释放完成的消息已经通知到了(第四次挥手)