8种常见协议工作流程图_这是我见过最牛的了

1. 种常见协议工作流程图

1.1. 协议速览

协议 所属层级 默认端口 核心特点 典型应用
HTTP 应用层(基于 TCP) 80 请求-响应模式,无状态 网页浏览
HTTPS 应用层(HTTP + TLS) 443 加密 + 证书认证 网上支付、登录
HTTP/3 应用层(基于 QUIC/UDP) 443 避免队头阻塞、连接迁移 移动端 Web、实时应用
WebSocket 应用层(基于 TCP) 80 / 443 全双工、服务端可主动推送 在线游戏、股票行情、即时消息
TCP 传输层 面向连接、可靠传输 各类应用层协议的底层承载
UDP 传输层 无连接、低延迟 语音、视频流、DNS
SMTP 应用层(基于 TCP) 25(提交常用 465/587) 发送/中继电子邮件 邮件发送
FTP 应用层(基于 TCP) 21(控制)/ 20(数据) 双通道:控制 + 数据 文件上传下载

1.2. 协议定义

1.2.1. HTTP

HTTP 是一种用于获取 HTML 文档等资源的协议。它是网络数据交换的基础,也是一种客户端-服务器协议

1.2.2. HTTP/3

HTTP/3 是 HTTP 的下一个重要修订版本,它在 QUIC 上运行。QUIC 是一种新的传输协议,专为移动互联网而设计。它依赖于 UDP 而不是 TCP,这使得网页响应速度更快。VR 应用程序需要更多带宽来迅速呈现虚拟场景的复杂细节,因此迁移到由 QUIC 支持的 HTTP/3 会从中受益。

1.2.3. HTTPS

HTTPS 扩展了 HTTP,并使用加密技术实现安全通信

1.2.4. WebSocket

WebSocket 是一种通过 TCP 提供全双工通信的协议。客户端通过建立 WebSocket 从后端服务接收实时更新。与总是「拉取」数据的 REST 不同,WebSocket 可以「推送」数据。在线游戏、股票交易和消息应用程序等都利用 WebSocket 进行实时通信。

1.2.5. TCP

TCP 设计用于在互联网上发送数据包,确保数据和信息在网络上成功传递。许多应用层协议都建立在 TCP 协议之上。

1.2.6. UDP

UDP 直接向目标计算机发送数据包,无需先建立连接。UDP 通常用于对时间敏感的通信,因为这种情况下偶尔丢弃数据包比等待更好。语音和视频应用通常使用此协议发送数据。

1.2.7. SMTP

SMTP 是一种标准协议,用于将电子邮件从一个用户传输到另一个用户

1.2.8. FTP

FTP 用于在客户端和服务器之间传输计算机文件。它有独立的控制通道和数据通道连接

1.3. 协议工作原理动态图

协议工作原理动态图

1.4. 协议工作流程详解

1.4.1. HTTP 工作流程

  1. 建立连接:客户端通过 DNS 解析域名 → TCP 三次握手建立连接(默认 80 端口)。
  2. 发送请求:客户端构造 HTTP 请求报文(含请求行、请求头、请求体),如 GET /index.html HTTP/1.1
  3. 处理与响应:服务器解析请求 → 执行业务逻辑 → 返回响应报文(含状态行、响应头、响应体),如 200 OK
  4. 连接管理:HTTP/1.1 默认复用 TCP 连接(Connection: keep-alive),非持久连接则关闭 TCP(四次挥手)。

1.4.2. HTTP/3 工作流程

  1. 基于 QUIC 协议:使用 UDP 而非 TCP 传输,避免队头阻塞。
  2. 快速握手:首次连接 1-RTT 即可发送数据;会话复用时支持 0-RTT,无需等待往返。
  3. 多路复用:单个 QUIC 连接上并行传输多个独立数据流。
  4. 连接迁移:网络切换(如 WiFi 转 4G)时基于连接 ID 恢复,无需重建连接。

1.4.3. HTTPS 工作流程

  1. TCP 连接:客户端与服务器建立 TCP 连接(443 端口)。
  2. TLS 握手:服务器发送数字证书(含公钥)→ 客户端验证证书合法性(CA 签名、域名、有效期)→ 双方通过密钥交换算法(如 ECDHE)协商出对称密钥。
  3. 加密通信:后续数据通过对称密钥加密传输。

1.4.4. WebSocket 工作流程

  1. HTTP 升级握手:客户端发送 Upgrade: websocket 请求 → 服务器返回 101 Switching Protocols 响应。
  2. 双向通信:建立全双工连接后,客户端/服务器可随时主动发送数据帧。
  3. 连接关闭:任一方发送关闭帧(含状态码)→ 对方响应后断开。

1.4.5. TCP 工作流程

  1. 连接建立:三次握手(SYN → SYN+ACK → ACK)。
  2. 数据传输:数据分块为段 → 附加序列号/校验和;接收方确认(ACK),丢失则重传。
  3. 连接关闭:四次挥手(FIN → ACK → FIN → ACK)。

1.4.6. UDP 工作流程

  1. 无连接:直接发送数据报,无需握手或连接状态维护。
  2. 不可靠传输:无重传、流量控制、拥塞控制,适用于实时应用(如视频流)。

1.4.7. SMTP 工作流程

  1. 建立连接:客户端与邮件服务器建立 TCP 连接(25 端口;用户提交邮件常用 465/587 端口)。
  2. 命令交互:客户端发送 HELOMAIL FROM → 服务器响应 250 OK;指定收件人(RCPT TO)→ 发送数据(DATA)。
  3. 连接关闭:发送 QUIT 命令 → 服务器确认后断开。

1.4.8. FTP 工作流程

  1. 控制连接:客户端与服务器建立 TCP 连接(21 端口)→ 身份验证(USER/PASS)。
  2. 数据传输:主动模式下服务器主动连接客户端(20 端口);被动模式下客户端连接服务器指定端口。
  3. 命令操作:发送 LIST(列目录)、RETR(下载)、STOR(上传)等命令。
  4. 连接关闭:控制连接发送 QUIT 终止会话。

1.5. 协议典型应用图例

协议典型应用图例