HTTP 请求流程

HTTP 的请求流程包括地址解析、封装 HTTP 数据包、封装 TCP 包、建立 TCP 连接、客户端发送请求、服务端响应、服务端关闭 TCP 连接,流程如下:

  1. 地址解析:通过域名系统 DNS 解析服务器域名从而获得主机的 IP 地址。例如客户端的浏览器请求:http://localhost.com:8080/index.html,则可从中分解出协议名、主名、端口、对象路径等
  2. 封装 HTTP 数据包:解析协议名、主机名、端口、对象路径等并结合本机自己信息封装成一个 HTTP 请求数据包
  3. 封装 TCP 包:将 HTTP 请求数据包进一步封装成 TCP 数据包
  4. 建立 TCP 连接:基于 TCP 的三次握手机制建立 TCP 连接
  5. 客户端发送请求:在建立连接后,客户端发送一个请求给服务端
  6. 服务端响应:服务端在接收到请求后,结合业务逻辑进行数据处理。然后向客户端返回相应的响应信息。在响应信息中包含状态行、协议版本号,成功或错误的代码、消息体等内容
  7. 服务端关闭 TCP 连接:服务端在向浏览器发送请求响应数据后关闭 TCP 连接。但如果浏览器或者服务端在消息头中加入了 Connection:keep-alive,则 TCP 连接在请求响响应数据发送后仍然保持连接状态,在下一次请求中浏览器可以继续使用相同的连接发送请求。采用 keep-alive 方式不但减少了请求响应的时间,还节约了网络带宽和系统资源
相关推荐
不过普通话一乙不改名5 分钟前
Linux 网络收包的进阶之路:从普通 socket 到 AF_XDP 零拷贝
linux·运维·网络
rising start25 分钟前
三、FastAPI :POST 请求、用户接口设计与 Requests 测试
python·网络协议·http·fastapi
苏州知芯传感1 小时前
环境智能的触角:MEMS微振镜赋能分布式光纤传感网络
网络·分布式·3d·mems·激光·微振镜
dualven_in_csdn2 小时前
【疑难问题】某些win11机器 网卡统计也会引起dns client 占用cpu问题
运维·服务器·网络
DanB243 小时前
Java(网络编程)
java·网络·php
老蒋新思维3 小时前
创客匠人 2025 峰会深度解析:AI 赋能垂直领域,创始人 IP 变现的差异化路径
大数据·网络·人工智能·网络协议·tcp/ip·重构·知识付费
k***45993 小时前
C#数据库操作系列---SqlSugar完结篇
网络·数据库·c#
TechMasterPlus4 小时前
wireshark使用
网络·测试工具·wireshark
北京耐用通信4 小时前
耐达讯自动化Profibus光纤转换器为您的水处理系统装上“光纤高速路”,数据从此畅通无阻!
网络·人工智能·科技·网络协议·自动化·信息与通信
老蒋新思维4 小时前
创客匠人 2025 峰会深度解析:AI 激活创始人 IP 变现的核心价值
网络·人工智能·网络协议·tcp/ip·创始人ip·创客匠人·知识变现