网络API 与网络服务之间有什么区别吗?或者他们是一样的吗?
答案 0 :(得分:70)
Web服务通常提供WSDL,您可以从中自动创建客户端存根。 Web服务基于SOAP protocol。 ASP.NET Web API是一个较新的Microsoft框架,可帮助您构建REST based interfaces。响应可以是JSON或XML,但是无法自动生成客户端,因为Web API不提供Web服务中的WSDL之类的服务描述。 因此,这取决于您的要求您要使用哪种技术。甚至可能WCF更符合您的要求,只需查看MSDN文档即可。
答案 1 :(得分:39)
Web服务和Web API之间的基本区别
网络服务:
1)它是一个基于SOAP的服务,并以XML格式返回数据。
2)它只支持HTTP协议。
3)它不是开源的,但可以被任何理解XML的客户使用。
5)它需要一个SOAP协议来通过网络接收和发送数据,因此它不是一个轻量级的架构。
Web API:
1)Web API是基于HTTP的服务,默认情况下返回JSON或XML数据。
2)它支持HTTP协议。
3)它可以托管在应用程序或IIS中。
4)它是开源的,任何理解JSON或XML的客户都可以使用它。
5)它具有轻量级架构,适用于带宽有限的设备,如移动设备。
答案 2 :(得分:21)
刚粘贴链接文章的摘要:
要点:
所有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
请参阅上面的链接以获得完整的答案。
答案 3 :(得分:8)
答案 4 :(得分:6)
Web服务(如果需要)是Web API。具体而言,Web API通常意味着RESTful(基于HTTP)的Web服务,Web Service通常意味着SOAP + WSDL(+ HTTP或SMTP或JMS ..)。
简单地说,REST服务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
希望它有所帮助!
答案 5 :(得分:4)
Web服务与Web API完全相同 - 只是在底层数据格式方面受到更多限制。两者都使用HTTP协议,两者都允许创建RESTful服务。 并且不要忘记像JSON-RPC这样的其他协议 - 也许它们更合适。
答案 6 :(得分:0)
在ASP.Net上下文中,Web API是一个控制器,其基类为ApiController,并且不使用视图。 Web服务是从WebService派生的类,并具有自动WSDL生成功能。默认情况下,它是SOAP api,但是您也可以通过添加ScriptServiceAttribute来使用JSON。
答案 7 :(得分:0)
API和Web服务用作通信手段。
唯一的区别是 Web服务促进了网络上两台计算机之间的交互。 API充当两个不同应用程序之间的接口,以便它们可以彼此通信。 API是一种方法,第三方供应商可以通过该方法编写与其他程序轻松接口的程序。 Web服务被设计为具有通常以Web服务描述语言(WSDL)
指定的机器可处理格式描述的接口。所有Web服务都是API,但所有API都不是Web服务。
Web服务仅仅是用HTTP包装的API。
这篇here文章提供了有关Web服务和API的丰富知识。
答案 8 :(得分:0)
答案 9 :(得分:-2)
嗯,TMK可能在微软世界中是正确的,但在包括Java / Python /等在内的所有软件世界中,我相信没有区别。他们是一回事。
答案 10 :(得分:-2)
Web服务 - 这是W3C定义的标准,因此可以半自动或自动访问它们(WSDL / UDDI)。整个过程都基于XML,所以任何人都可以调用它。服务的每个方面都有很好的定义。有参数描述标准,参数传递标准,响应标准,发现标准等。你可以写2000页的书来描述标准。甚至还有一些“额外”标准用于执行“标准”事务,例如身份验证。
尽管自动调用和发现几乎没有用,因为客户端相当差,而且您无法保证可以从任何客户端调用任何服务。
Web API通常以HTTP / REST形式完成,没有定义任何内容,输出可以用于例如。 JSON / XML,输入可以是XML / JSON /或普通数据。什么都没有标准=&gt;没有自动呼叫和发现。您可以在文本文件或PDF中提供一些描述,您可以在Windows-1250中返回数据而不是unicode等。为了描述标准,它将是2页小册子,其中包含一些简单信息,您将定义其他所有内容。< / p>
Web正在转向Web API / REST。 Web Services实际上并不比Web API好。开发非常复杂,它们占用更多资源(带宽和RAM)......并且因为所有数据转换(REQUEST-&gt; XML-&gt; DATA-&gt; RESPONSE-&gt; XML-&gt; VALIDATION-&gt;转换 - &gt; DATA)非常慢。
EG。在WebAPI中,您可以打包数据,将其压缩并在客户端上解压缩+解包。在SOAP中,您只能压缩HTML请求。
答案 11 :(得分:-2)
所有WebServices都是API,但所有API都不是WebServices,在Web上公开的API称为Web服务。
答案 12 :(得分:-3)
有两件事很容易理解,
注意: 所有Web服务都是API,但并非所有API都是Web服务