常见协议是如何工作的

协议定义


1、HTTP

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

2、HTTP/3

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

3、HTTPS

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

4、WebSocket

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

5、TCP

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

6、UDP

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

7、SMTP

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

8、FTP

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

协议工作原理动态图

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(四次挥手)。

2、HTTP/3

工作流程:

  1. 基于QUIC协议:使用UDP而非TCP传输,避免队头阻塞。

  2. 快速握手:支持0-RTT连接建立(首次通信即发送数据)。

  3. 多路复用:单个QUIC连接上并行传输多个独立数据流。

  4. 连接迁移:网络切换(如WiFi转4G)时无需重建连接。

3、HTTPS 

工作流程:

  1. TCP连接:客户端与服务器建立TCP连接(443端口)。

  2. TLS握手:

    服务器发送数字证书(含公钥)→客户端验证证书合法性(CA机构签名)。

    客户端生成对称密钥→用公钥加密后发送→服务器用私钥解密获取密钥。

  3. 加密通信:后续数据通过对称密钥加密传输。

4、WebSocket

工作流程:

  1. HTTP升级握手:客户端发送Upgrade: websocket请求→服务器返回101 Switching Protocols响应。

  2. 双向通信:建立全双工连接后,客户端/服务器可随时主动发送数据帧。

  3. 连接关闭:任一方发送关闭帧(含状态码)→对方响应后断开。

5、TCP 

工作流程:

  1. 连接建立:

    三次握手(SYN→SYN+ACK→ACK)。

  2. 数据传输:

    数据分块为段→附加序列号/校验和。

    接收方确认(ACK)→丢失则重传。

  3. 连接关闭:

    四次挥手(FIN→ACK→FIN→ACK)。

6、UDP 

工作流程:

  1. 无连接:直接发送数据报,无需握手或连接状态维护。

  2. 不可靠传输:无重传、流量控制、拥塞控制,适用实时应用(如视频流)。

7、SMTP 

工作流程:

  1. 建立连接:客户端与邮件服务器TCP连接(25端口)。

  2. 命令交互:

    客户端发送HELO、MAIL FROM→服务器响应250 OK。

    指定收件人(RCPT TO)→发送数据(DATA)。

  3. 连接关闭:发送QUIT命令→服务器确认后断开。

8、FTP

工作流程:

  1. 控制连接:客户端与服务器建立TCP连接(21端口)→身份验证(USER/PASS)。

  2. 数据传输:

    主动模式:服务器主动连接客户端(20端口)。

    被动模式:客户端连接服务器指定端口。

  3. 命令操作:发送LIST(列目录)、RETR(下载)、STOR(上传)等命令。

  4. 连接关闭:控制连接发送QUIT终止会话。

协议典型应用图例


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优质网络系统领域创作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值