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 方式不但减少了请求响应的时间,还节约了网络带宽和系统资源
相关推荐
上海云盾-小余4 分钟前
高防CDN+AI协同:零误封精准拦截CC攻击的7层策略拆解
网络·人工智能·tcp/ip·游戏
不染尘.10 分钟前
Linux磁盘分区和NAT网络配置
linux·运维·网络·windows·ssh
上海云盾-小余28 分钟前
CDN 加速 + 安全防护:让业务体验与网络安全双向升级
网络·安全·web安全
Sinokap31 分钟前
告别“一刀切”防护:如何在安全与效率之间构建智能工作空间
网络
白山云北诗31 分钟前
一文读懂什么是DNS解析
网络·安全·解析·dns·dns服务器·cname·加速
s***872733 分钟前
深入解析TCP/IP协议栈:从原理到优化
网络
康小庄35 分钟前
通过NGINX实现将小程序HTTPS请求转为内部HTTP请求
java·spring boot·nginx·spring·http·小程序
乐迪信息35 分钟前
乐迪信息:AI视频分析技术用于船舶倾斜监控
大数据·网络·人工智能·算法·无人机
一颗青果36 分钟前
对称加密 | 非对称加密 | HTTPS的加密方式 | CA认证 | 中间人攻击
网络·网络协议·https
Gazer_S39 分钟前
【iframe 跨域问题:代理方案与网络基础】
网络