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 方式不但减少了请求响应的时间,还节约了网络带宽和系统资源
相关推荐
星恒讯工业路由器1 分钟前
企业组网 企业加密内网、内网穿透、专线组网,三种方式该怎么选
网络·物联网·智能路由器·信息与通信
上海云盾-小余2 分钟前
跨境业务网络高危隐患:恶意流量拦截与高防架构搭建实战
网络·安全·web安全
河阿里10 分钟前
WebSocket:从零开始到实战项目
网络·websocket·网络协议
说不得明天12 分钟前
网络管理:AutoarNM部分
c语言·网络·mcu·汽车·autosar
xhbh66615 分钟前
无公网IP环境下的宽带端口映射:80km穿云箭部署与性能测试
网络·智能路由器
胡志辉的博客21 分钟前
邮件中点击“加载图片”,你的IP地址已经被泄漏
网络协议·user-agent·加载图片 ip 泄漏·邮件远程图片·追踪像素·邮件隐私保护·tracking pixel
lularible22 分钟前
PTP协议精讲(4.4):从时钟程序实现——时间的“追随者“
网络·网络协议·开源·嵌入式·ptp
小辰记事本26 分钟前
RDMA:AI算力集群的“网络命脉”
网络·人工智能·网络协议·rdma
缪懿31 分钟前
javaEE:网络编程基础
java·网络·java-ee
BizViewStudio36 分钟前
2026 年网站建设行业白皮书:AI 深度融合与合规驱动下的 6 大变革方向——附优质开发商
大数据·网络·人工智能·microsoft·媒体