http对网址的接受与响应

在地址栏数日地址后你按回车的流程
地址解析:浏览器先判断输入的地址是IP地址还是域名。若为域名(如www.baidu.com),则发起DNS查询,将域名解析为对应的IP地址(依赖DNS协议,属于应用层);若为IP地址,直接跳过此步骤。

建立TCP连接:浏览器通过解析得到的IP地址,与目标Web服务器的80端口(HTTP协议默认)或443端口(HTTPS协议默认)建立TCP连接,过程需经过“三次握手”(确保双方收发能力正常)。

发送HTTP请求:TCP连接建立后,浏览器作为客户端,按照HTTP协议规范构建请求报文(包含请求方法、请求头、请求体等),并通过TCP连接发送给Web服务器。

服务器处理请求并返回响应:Web服务器接收HTTP请求后,根据请求内容处理业务逻辑(如查询数据库、读取静态资源等),然后构建HTTP响应报文(包含状态码、响应头、响应体等),通过TCP连接返回给浏览器。

浏览器渲染页面:浏览器接收响应报文后,解析响应体中的内容(如HTML、CSS、JavaScript等),并执行渲染流程,最终将网页内容展示给用户。

断开TCP连接:页面渲染完成后,若没有后续请求,TCP连接会通过“四次挥手”的方式断开,释放网络资源。
(一)三次握手(TCP连接建立过程)

定义:TCP协议中,客户端与服务器建立可靠连接的三次交互过程。

三次握手作用:确保客户端和服务器的接收、发送请求功能均正常,成功建立连接。

  1. 第一次握手(客户端→服务器):客户端向服务器发送请求,服务器通过接收该请求,确认客户端发送功能正常、自身接收功能正常。

  2. 第二次握手(服务器→客户端):服务器向客户端回复响应,客户端通过接收该响应,确认自己的发送、接收功能正常,同时确认服务器的发送、接收功能正常。

  3. 第三次握手(客户端→服务器):客户端向服务器发送最终确认,服务器通过接收该确认,确认客户端和自己的接收、发送功能均正常,连接正式建立。

屏幕截图 2025-12-23 101535

(二)四次挥手(TCP连接断开过程)

定义:TCP协议中,客户端与服务器终止已建立连接的四次交互过程。

四次挥手作用:安全关闭客户端与服务器之间的连接,确保数据传输完整。

  1. 第一次挥手(客户端→服务器):客户端向服务器发送FIN(结束)+ACK(确认)报文,请求断开连接,服务器接收该报文。

  2. 第二次挥手(服务器→客户端):服务器接收FIN报文后,向客户端发送ACK报文,确认收到断开请求,此时客户端到服务器的连接关闭;服务器状态变为CLOSE_WAIT,客户端状态变为FIN_WAIT_2(客户端需等待服务器剩余数据传输完成)。

  3. 第三次挥手(服务器→客户端):服务器完成所有数据传输后,向客户端发送FIN报文,表明服务器也不再发送数据,请求断开连接;此时服务器状态变为LAST_ACK。

  4. 第四次挥手(客户端→服务器):客户端接收FIN报文后,向服务器发送ACK报文,确认接收服务器的断开请求(确认号=服务器FIN序列号+1);此时客户端状态变为TIME_WAIT(等待一段时间确保服务器收到确认,避免残留报文干扰),服务器接收ACK后状态变为CLOSED;客户端等待超时后,状态也变为CLOSED,连接正式断开。

屏幕截图 2025-12-23 101613

为什么是三次握手而不是二次/四次?

屏幕截图 2025-12-23 101748

posted @ 2025-12-22 11:12  幸运猫猫  阅读(21)  评论(0)    收藏  举报