在浏览器输入URL回车后发生了什么?

1、DNS解析(把域名解析成IP地址)
当我们在浏览器输入一个域名的时候,会向DNS服务器发送域名,会返回对应的IP地址,然后浏览器向IP地址发送请求。

2、建立TCP连接,进行三次握手
①客户端发起一个创建连接的数据包的请求。
②服务端接收到这个数据包。就会开启一个TCP socket的端口,端口开启以后返回给客户端
③客户端拿到了。继续返回
为什么要有三次握手?
防止服务端开启无用的连接。因为网络传输是有延时的,可以规避网络延时导致服务器额外的开销

3、浏览器向服务器发送HTTP请求
完整的HTTP请求包含请求起始行、请求头部、请求主体三部分。

4、服务器接收请求、处理请求,返回相应报文
5、浏览器解析、执行、渲染
6、关闭TCP连接或继续保持连接
① 第一次挥手是浏览器发完数据后,发送FIN请求断开连接。
② 第二次挥手是服务器发送ACK表示同意,如果在这一次服务器也发送FIN请求断开连接似乎也没有不妥,但考虑到服务器可能还有数据要发送,所以服务器发送FIN应该放在第三次挥手中。
③ 这样浏览器需要返回ACK表示同意,也就是第四次挥手。

你可能感兴趣的:(笔记,前端)