当我们在浏览器地址栏输入’http://www.xxx.com/api/xxx"时,客户端是如何找到服务器并发送请求的?
1.先找到服务器
a.检测浏览器缓存有没有缓存该域名对应的IP地址,有则通过IP地址取找服务器。
b.检测本地的hosts文件,是否有记录该域名对应的IP地址,有则通过IP地址取找服务器。(如果本机此文件中自己修改了服务器Ip和域名的绑定关系)在本机会生效的。
c.通过DNS服务器解析,找到该域名对应的IP地址,然后通过IP地址取找服务器。
window系统下的hosts文件路径:
2.进行三次握手(建立连接,确认下双方是否有发送数据和接收数据的能力)
a.第一次握手是在建立连接,客户端发送连接请求报文段,把标有SYN的数据包发给服务器端即为接收端。
b.第二次握手是服务器端即接收端收到客户端的SYN的报文段,同时发送标有SYN/ACK的数据包。
c.第三次握手是客户端收到服务器端的SYN/ACK的数据包后,向服务器端发送标有ACK的数据包。
3.发送请求,传输数据
4.服务器处理,并做出响应
5.浏览器接收响应结果。
a.处理数据,渲染到页面中(首次渲染会有重绘和回流)
6.四次挥手(作用是断开连接)