Web API和Web 服务之间有什么区别吗?或者他们是一回事?
13 回答
Web 服务通常提供一个WSDL,您可以从中自动创建客户端存根。Web 服务基于SOAP 协议。ASP.NET Web API 是一个较新的 Microsoft 框架,可帮助您构建基于 REST 的接口。响应可以是 JSON 或 XML,但无法自动生成客户端,因为 Web API 不提供像来自 Web 服务的 WSDL 那样的服务描述。因此,这取决于您要使用哪种技术的要求。甚至WCF也可能更符合您的要求,只需查看 MSDN 文档即可。
Web 服务和 Web API 之间的基本区别
网络服务:
1) 它是基于 SOAP 的服务,以 XML 形式返回数据。
2)它只支持HTTP协议。
3) 它不是开源的,但可以被任何理解 XML 的客户端使用。
5)它需要一个SOAP协议来通过网络接收和发送数据,所以它不是一个轻量级的架构。
网络接口:
1) Web API 是基于 HTTP 的服务,默认返回 JSON 或 XML 数据。
2) 支持HTTP协议。
3) 它可以托管在应用程序或 IIS 中。
4) 它是开源的,任何理解 JSON 或 XML 的客户端都可以使用它。
5)它具有轻量级架构,适用于带宽有限的设备,如移动设备。
刚刚粘贴了链接文章的摘要:
概括:
所有 Web 服务都是 API,但所有 API 都不是 Web 服务。
Web 服务可能不会执行 API 将执行的所有操作。
Web 服务仅使用三种使用方式:SOAP、REST 和 XML-RPC 进行通信,而 API 可以使用任何方式进行通信。
Web 服务的运行始终需要网络,而 API 的运行则不需要网络。
API 有助于直接与应用程序交互,而 Web 服务是...
阅读更多:API 和 Web 服务之间的区别 | 之间的区别| API 与 Web 服务http://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
有关完整答案,请参阅上面的链接。
如果需要,Web 服务是 Web API。具体来说,Web API 通常意味着 RESTful(基于 HTTP)的 Web 服务,而 Web 服务通常意味着 SOAP+WSDL(+HTTP 或 SMTP 或 JMS..)。
通常,RESTful Web 服务与 Web 服务(WSDL、SOAP)相对,但最近引入了术语 RESTful Web 服务(带有大写“W”),意思是 RESTful+WSDL+SOAP。
查看此图表了解三个概念之间的差异: http ://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
希望能帮助到你!
Web 服务与 Web API 完全一样——只是在底层数据格式方面受到更多限制。两者都使用 HTTP 协议,并且都允许创建 RESTful 服务。并且不要忘记 JSON-RPC 等其他协议 - 也许它们更适合。
API 和 Web 服务作为一种通信手段。
唯一的区别是Web 服务有助于两台机器通过网络进行交互。API 充当两个不同应用程序之间的接口,以便它们可以相互通信。 API 是一种方法,第三方供应商可以通过该方法编写与其他程序轻松交互的程序。Web 服务被设计为具有以机器可处理格式描述的接口,该格式通常在 Web 服务描述语言 (WSDL) 中指定
所有 Web 服务都是 API,但并非所有 API 都是 Web 服务。
Web 服务只是封装在 HTTP 中的 API。
本文提供了有关 Web 服务和 API 的良好知识。
- Web 服务是用于在系统或应用程序之间交换数据的开源协议和标准的集合,而 API 是允许两个应用程序在没有任何用户参与的情况下相互交互的软件接口。
- Web 服务用于 REST、SOAP 和 XML-RPC 进行通信,而 API 用于任何类型的通信。
- Web 服务仅支持 HTTP 协议,而 API 支持 HTTP/HTTPS 协议。
- Web 服务支持 XML,而 API 支持 XML 和 JSON。
- 所有 Web 服务都是 API,但所有 API 都不是 Web 服务。
在 ASP.Net 的上下文中,Web API 是一个控制器,其基类是ApiController并且不使用视图。Web Service 是从WebService派生的类,具有自动 WSDL 生成功能。默认情况下,它是一个 SOAP api,但您也可以通过添加ScriptServiceAttribute来使用 JSON 。
嗯,TMK 在微软世界里可能是对的,但在包括 Java/Python/等所有软件的世界里,我相信没有区别。他们是一样的。
Web Service 和 Web API 之间的区别在这里很好地解释了:
链接中的文字:
Web 服务 - 这是 W3C 定义的标准,因此可以半自动或自动访问它们(WSDL / UDDI)。整个东西都是基于 XML 的,所以任何人都可以调用它。并且服务的每个方面都非常明确。有参数描述标准、参数传递标准、响应标准、发现标准等。你可能会写2000页的书来描述标准。甚至还有一些用于做“标准”事情的“附加”标准,比如身份验证。
尽管自动调用和发现几乎无法工作,因为客户端相当差,并且您无法真正保证可以从任何客户端调用任何服务。
Web API 通常以 HTTP/REST 的形式完成,没有定义任何内容,输出可以是例如。JSON/XML,输入可以是 XML/JSON/或纯数据。没有任何标准 => 没有自动调用和发现。您可以在文本文件或 PDF 中提供一些描述,您可以在 Windows-1250 中而不是 unicode 中返回数据等。为了描述标准,它将是带有一些简单信息的 2 页小册子,您将定义其他所有内容。
Web 正在转向 Web API / REST。Web 服务实际上并不比 Web API 好。开发起来非常复杂,而且他们消耗更多的资源(带宽和 RAM)......并且由于所有数据转换(REQUEST->XML->DATA->RESPONSE->XML->VALIDATION->CONVERSION->DATA)都非常减缓。
例如。在 WebAPI 中,您可以打包数据,将其压缩发送,然后在客户端解压缩+解包。在 SOAP 中,您只能压缩 HTML 请求。
所有的 WebServices 都是 API,但所有的 API 都不是 WebServices,暴露在 Web 上的 API 称为 Web 服务。
有两件事很容易理解,
- API:它是应用程序的一层,可以在本地服务其他应用程序请求。
- Webs Service:是一种API,可以通过网络或互联网上的远程系统通过网络提供请求和响应。
注意:所有 Web 服务都是 API,但并非所有 API 都是 Web 服务