我听说过很多有关Web服务和Web API的信息,它们之间有什么区别还是相同?

评论

另请参阅StackOverflow:Web API和Web服务有什么区别?

#1 楼

Web服务-这是W3C定义的标准,因此可以半自动或自动(WSDL / UDDI)对其进行访问。整个过程都是基于XML的,因此任何人都可以调用它。服务的每个方面都得到了很好的定义。其中有参数描述标准,参数传递标准,响应标准,发现标准等。您可能可以编写2000页的书来描述该标准。甚至还有一些用于执行“标准”操作的“附加”标准,例如身份验证。

尽管自动调用和发现几乎无法工作,因为客户端相当差,并且您没有真正的保证可以从任何客户端调用任何服务。

Web API通常以HTTP / REST的形式完成,没有定义任何内容,例如可以输出。 JSON / XML,输入可以是XML / JSON /或纯数据。没有任何标准=>没有自动调用和发现。您可以在文本文件或PDF中提供一些描述,也可以在Windows-1250中而不是unicode中返回数据。为描述该标准,它是2页的小册子,其中包含一些简单的信息,您将定义其他所有内容。 br />
Web正在转向Web API / REST。 Web服务实际上并不比Web API好。开发非常复杂,并且它们消耗更多的资源(带宽和RAM)...并且由于所有数据转换(REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA)非常

例如。在WebAPI中,您可以打包数据,将其压缩后发送,然后在客户端上进行解压缩和解压缩。在SOAP中,您只能压缩HTML请求。

评论


谢谢@Slawek,你解释得更好..也感谢这个例子...

– Harish Kurup
2011年1月22日,下午5:50

实际上,我听到人们将SOAP和REST都称为“ Web服务”。 Web API确实倾向于使用REST。

–本·瑟利
16 Mar 2 '16 at 17:59

@Slawek,用它说的2000页和2页的方式,本身就说明了降低了复杂性。简单地说出来的好方法..

– Jaqen H'ghar
16年6月23日在5:29

#2 楼

Web服务允许通过HTTP进行机器对机器的通信。 Web API是使用REST约定(概述Wikipedia文章)的Web服务的子集。概念肯定重叠。我相信大多数人在Web服务中仍然存在一个链接-> SOAP / XML-RPC,该链接可能会不必要地混淆事务。

最后,您将不得不问几个问题来弄清人们的意思。不是每个人都可以区分或互换使用这些术语。

评论


谢谢你@Berin Loritsch,是的,没错,它会导致API和WS之间的混乱。

– Harish Kurup
2011年1月22日,下午5:55

#3 楼

Web服务是W3C所述的解决问题的定义架构和方法。


Web服务提供了在不同软件应用程序之间进行互操作的标准方法。 ,它在各种平台和/或框架上运行


Web API是一个概念,它抽象化了如何实现该概念。

用外行的话来说... Web API可以驱动马达,而WS可以驱动BMW N53。