软件开发接口术语之间的区别:API,Web API,REST API,Web服务,SOAP服务

问题描述 投票:-1回答:1

API vs Web API vs REST API vs Web Services vs SOAP Services

我多次在采访中遇到这个问题。另外,我发现当有人要求他们解释这些术语中的任何一个时,许多人会感到困惑,他们开始混淆这些术语。

我浏览了网络上的许多内容,但是我从未找到任何页面可以在一个位置很好地解释所有这些术语。

任何人都可以解释这些术语以及它们之间的相互关系吗?

rest web web-applications
1个回答
0
投票

我认为问题在于这些术语可互换使用,实际上没有太多严格的定义。

我认为,API几乎是您用来连接另一软件/硬件的任何东西。这可以是命令行,HTTP API,本机移动API,本机Web API,与GPIO,L2C等交互协议的方法。

大多数编程使用了许多不同的API层(抽象),一种方法是技术上 API。你明白了吗?

Web API通常会使用HTTP(S)或类似技术来公开其API。您可能还认为“ Web” API是可以通过Internet,例如通过TCP或使用gRPC等在互联网上公开其API的任何事物。

REST API是Web API的一种特殊类型,它定义了用于设计/开发通过HTTP公开的无状态API的标准,该标准被大多数现代API所采用,尽管其中一些不是RESTful的,但更多是RESTish的,但是我离题了。[1] RESTful API将具有以下端点:GET /users/1以执行CRUD操作,并且通常将接受/响应JSON。

Web services == Web API在我看来,没有太大区别,服务(在我看来)可以是API,它可以也是不公开API且仅重复执行任务的服务。

我不打算评论SOAP,SOAP诞生时我还很小,但是我相信它使用了XML。

[1] https://en.wikipedia.org/wiki/Representational_state_transfer

© www.soinside.com 2019 - 2024. All rights reserved.