API 实际在系统之间的传递方式

发布: (2025年12月27日 GMT+8 20:37)
6 min read
原文: Dev.to

Source: Dev.to

介绍

到目前为止,我们已经讨论了 API 作为系统之间通信的一种方式。

但这里有一个重要的说明。

API 定义了系统之间相互传达的内容。网络协议则定义了这些消息的传输方式。

让我们来讨论几种最常见的消息在网络中传输的方式。

把 API 想象成语言。把协议想象成道路、车辆和交通规则。

HTTP – 基本对话

HTTP 是应用程序在互联网上进行通信的最常用方式。当你打开一个网站或应用加载数据时,通常都会在底层使用 HTTP。

它的工作方式

  • 一方发送消息
  • 另一方回复
  • 对话结束

这就像寄信后等待回复。这种方式非常适用于:

  • 加载页面
  • 获取数据
  • 简单的请求‑响应通信

HTTPS – 带锁的 HTTP

HTTPS 与 HTTP 相同,但已加密。可以把它想象成发送相同的信件,只是放在一个上锁的信封里。只有发送者和接收者能够阅读。

这就是 HTTPS 被用于以下场景的原因:

  • 登录系统
  • 支付
  • 任何敏感数据

从 API 的角度来看,行为没有任何变化。只有隐私和安全性得到了提升。

WebSocket – 保持通话打开

WebSocket 与众不同。它不是发送一条消息后就关闭连接,而是保持线路打开。

这就像一次电话通话:

  • 双方保持连接
  • 双方随时可以发言

当消息需要双向流动且更新必须即时时,就会使用它。

示例

  • 实时聊天
  • 实时通知
  • 实时仪表盘

使用 WebSocket 的 API 不会“一次又一次地请求”。它们会持续监听。

TCP – 慢速但可靠的传输

TCP 关注可靠性。想象通过快递服务发送易碎物品,该服务:

  • 确认送达
  • 若有遗失则重新发送
  • 保持顺序

这就是 TCP。大多数 API 在底层依赖 TCP,因为:

  • 消息能够正确到达
  • 不会无声丢失

它比某些选项慢,但值得信赖。

UDP – 快速但无保证

UDP 是相反的做法。它快速发送消息,不检查是否已到达。

想象在房间里大声喊信息:有些人可能会错过,但速度很快。

使用场景:速度比完美更重要

  • 视频通话
  • 直播流媒体
  • 在线游戏

API 很少直接使用 UDP,但基于实时数据的系统常常会使用它。

HTTP/3 (QUIC) – 现代且更快的道路

HTTP/3 是运行在 UDP 之上的新版 HTTP。

概念

  • 减少延迟
  • 更快地从网络问题中恢复

它适用于:

  • 移动应用
  • 物联网设备
  • 实时体验

从 API 的角度来看,这大多在幕后完成。

SMTP 和 FTP – 专用信使

一些协议专用于非常特定的任务。

  • SMTP – 设计用于电子邮件。
  • FTP – 设计用于文件传输。

它们不是通用的 API 通信工具,但仍然代表结构化的系统对系统通信,并遵循严格的规则,就像 API 一样。

结论

API 并不是在系统之间神奇漂浮的。它们通过以下协议进行通信:

  • HTTP / HTTPS
  • WebSocket
  • TCP / UDP
  • HTTP/3 (QUIC)
  • SMTP / FTP

文档会告诉你:

  • 使用了哪种协议
  • 预期的行为是什么
  • 通信是即时的还是延迟的
  • 是一次性还是持续的

没有这些明确的信息,团队只能猜测,而猜测会导致系统脆弱。

为什么这对文档很重要

优秀的 API 文档会回答以下问题:

  • 我是发起请求还是监听?
  • 这是实时的还是延迟的?
  • 这安全吗?
  • 我会立即得到响应吗?

没有文档,开发者只能随意按按钮,就像在不知道每个按钮功能的情况下使用电视遥控器。

优秀的文档不仅解释 API 本身,还说明如何安全、正确地进行通信。

Back to Blog

相关文章

阅读更多 »

🍽️ 像5岁小孩一样解释API

餐厅类比 想象一下你在一家餐厅。你不会走进厨房自己烹饪食物。你 → 服务员 → 厨房——你告诉服务员你想要的……

理解请求-响应模型

封面图片:Understanding the Request–Response Model https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2...