互联网API和互联网协议有什么区别?

5
我正在阅读James F. KUROSE和KEITH W.Rose的计算机网络书籍,其中将Internet API定义为“规则集”,通过这些规则,数据从一个终端用户传输到另一个终端用户。协议也是以同样的方式定义的,但这让我有点困惑,它们之间的主要区别究竟是什么。
在一段中,书中说:“互联网API是发送程序必须遵循的一组规则,以便Internet可以将数据传递到目的地。”
而Google的解释是:“互联网协议是指控制通过Internet或其他网络发送的数据格式的一组规则。”
两者都没有错。我可能漏掉了某个重点。
请帮忙解答。

如果您能提供一些书中认为是互联网API和互联网协议的示例,那将非常有帮助。 - Bakuriu
@Bakuriu 我已经编辑了我的问题,请查看。 - mfs
1
忘记“互联网”前缀,重点放在API和协议之间的区别上。 - kolossus
3个回答

3

API是Application Programming Interface的缩写,它指的是与你正在编程的应用程序中的组件进行交互的方法、数据和规则。如果有人说Internet API,它可能指一组在你的应用程序中必须考虑的方法、数据和规则。我不知道有一个通用的“Internet API”……你可以在维基百科上找到协议的定义(也适用于API)。协议包括消息格式、数据流以及有时允许两个实体相互通信的算法的定义。协议定义了两个实体之间的通信方式,协议API是应用程序使用协议实现的接口。希望这可以帮助你,我不同意“Internet API”这样的概念,并且我认为你找到的协议定义是不完整的。


0
API是为编程而设计的,使用API可以与某些应用程序组件进行通信,收集数据/编辑/限制...这些API例如REST使用HTTP/HTTPS请求和响应协议,还使用TLS/SSL协议进行安全传输。 协议是用于设备之间的通信,API用于应用程序之间的通信。 我希望您利用以下段落: #HTTP是具有给定机制用于服务器-客户端数据传输的通信协议。在REST API中最常用的是HTTP,因为REST受到WWW(万维网)的启发,在REST定义之前,WWW大量使用了HTTP,因此使用HTTP实现REST API样式更容易。 # HTTP API是使用HTTP作为传输协议的任何API。这意味着即使SOAP也可以被认为是HTTP API,只要它将使用HTTP进行传输,但是大多数HTTP API将更充分和更好地利用HTTP的基础设施和可能性。 # HTTP API使创建具有创建无服务器应用程序或代理请求到HTTP端点所需的最常见功能的API变得更加容易。它们提供类似于API网关中典型的限流,指标和日志记录等特性。

0

我一直在阅读同一本书,我的理解是,协议是一组标准化的规则,它们是非常低级别的指令。而API则在更高层次上发挥作用。

一个API本身必须包含各种互联网协议以进行通信。

协议就像包裹投递,而API就像信件投递(内容特定)。

任何内容都可以通过协议发送,但只有定义明确的信息才能通过API发送。

想象一下,协议传输原始数据,而API传输处理后的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接