从输入URL到收到请求响应完成,中间发生了什么事情?

本文详细描述了从用户在浏览器输入URL开始,经历网络请求、TCP连接建立、数据封装与传输、服务端响应、数据解封装、页面渲染,到最后TCP连接关闭的完整过程。
摘要由CSDN通过智能技术生成

当你在浏览器中输入 URL 并按下回车键时,发生了以下过程:

  1. 客户端发起网络请求:用户在浏览器中输入URL后,浏览器会生成一个HTTP请求报文,其中包含了请求的方法(GET、POST等)、请求头、请求体等信息。同时,浏览器会通过DNS解析获取到服务器的IP地址。
  2. TCP连接的建立:浏览器通过操作系统的网络协议栈向目标服务器发起TCP连接请求。这个过程包括三次握手:客户端发送一个SYN包(同步请求)给服务器,服务器收到后回复一个SYN-ACK包(同步应答),最后客户端再发送一个ACK包(确认)。这样,TCP连接就建立起来了。
  3. 数据的封装和传输:HTTP请求报文经过TCP协议封装成TCP段,在传输层交给IP协议进行封装成IP数据报,在网络层交给链路层添加MAC头变成数据帧,通过物理层发送到网络上的目标服务器。
  4. 服务端处理请求:服务器接收到请求后,会根据请求中的URL、请求方法等信息,查找对应的资源并进行处理。这可能包括查询数据库、执行代码、读取文件等操作。
  5. 服务器发送响应:服务器会生成一个HTTP响应报文,包含了响应状态码、响应头和响应体等信息。它们经过类似的过程封装成TCP段、IP数据报和数据帧,通过网络发送到客户端。
  6. 数据的解封装和处理:客户端收到响应后,经过网络协议栈的处理,将数据帧解封装成IP数据报、TCP段,最终解封装成HTTP响应报文。浏览器根据响应中的信息进行页面渲染、数据处理等操作。
  7. TCP连接的关闭:HTTP请求响应过程完成后,客户端和服务器会通过TCP协议进行四次挥手来关闭连接,包括发送FIN(结束)包和ACK(确认)包。最终,TCP连接被彻底关闭。
  8. 页面加载完成:一旦浏览器完成对响应的处理,页面加载完成,用户可以看到网页内容并与之交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值