我在互联网上进行了大量搜索,但仍然没有清晰地了解到Web服务和Web API之间的区别?有些地方我看到说所有Web服务都是API,但不是所有API都是Web服务。为什么呢?
据我所知,两者都允许使用其他应用程序的功能。有人可以给我描述清晰的区别吗?
我在互联网上进行了大量搜索,但仍然没有清晰地了解到Web服务和Web API之间的区别?有些地方我看到说所有Web服务都是API,但不是所有API都是Web服务。为什么呢?
据我所知,两者都允许使用其他应用程序的功能。有人可以给我描述清晰的区别吗?
我一直在学习Web API(不仅仅是API)和Web服务之间的区别。
首先,我们知道事实上两者都使用Web作为通信工具,正如@Kris所说。
观看这两个视频时,都充当了客户要求Web服务器处理并传递响应的“中间人”(餐厅中的服务员)。
当我在寻找两者之间的实际差异时,通常大多数文章和视频都会进行无关的比较,“Web服务与API”的比较,因为他们将“Web”从“Web API”中排除掉。 例如,参见这篇文章,其中包含标题“Web API Vs Web Service....”,但包含子标题:
我能找到的唯一区别是,如果我们在.NET上下文中讨论这个问题。 这里有一个与此相关的问题帖子。
总之,Web服务在SOAP协议中使用,而Web API通常以RESTful方式创建。更详细的答案在帖子中,但最终并没有回答所问的主要问题。
结论:在公共领域提出的问题没有明确的定义两者之间的区别,因此这两个术语在很大程度上是可以互换的。
所有的网络服务都是API。API是应用程序编程接口。但是有离线API,它们不是网络服务。从办公到网站,都有相应的API。API只是一种被定义的接口,可以控制/与某些软件进行通信。Web服务只是提供了通过Web进行连接的手段。
当谈论通信协议和数据格式的API时,还有更多可以讨论的内容,但你已经得到了基本的概念。
API(应用程序接口)是另一个程序可以与程序通信的接口。
在这个上下文中,Web服务是具有API的那些程序之一。 “Web”表示它可以通过Web访问,通常是通过HTTP。 服务通常具有明确定义的目的。
例如,日期Web服务的目的可能是提供当前日期。 我的服务的API将具有单个“端点”:获取日期。 然后,服务实现此API。 它以某种方式检索日期并将其发送回来。