Web服务和Web应用程序之间的区别

时间:2012-05-16 08:56:49

标签: web-services web-applications terminology

让我们有一个示例场景:

客户端打开一个网站,找到他从文本框输入的两个数字的总和。然后点击ADD按钮。两个参数是HTTP GET到服务器,其中写入PHP代码以添加数字,结果是echo'ed。

根据这种情况,任何人都可以解释一下Web服务和应用程序之间的区别吗?

9 个答案:

答案 0 :(得分:53)

在您的情况下,如果您有用户界面提供两个数字然后获得结果,则应将其称为Web应用程序。但是,如果您有一个API公开接收两个数字并通过http返回结果,那么它应该被称为Web服务。
在较低级别,Web应用程序和Web服务都是一样的。但重点是Web服务用于机器/程序到机器/程序通信,而Web应用程序用于用户。

答案 1 :(得分:26)

我认为Web应用程序适用于用户,Web服务适用于其他应用程序。这是最重要的区别。 Web应用程序通常以HTML格式呈现数据,这些数据对用户来说很好,Web服务通常以XML格式呈现数据,这些数据很容易被其他应用程序解析。

答案 2 :(得分:21)

一个人开车。那辆车可以由内燃机,电动机或核反应堆提供动力。然而,电源对驾驶员来说并不重要,因为他们需要看到的只是控制装置和前方道路。

应用程序是汽车。网络服务是核反应堆。

答案 3 :(得分:9)

要添加2个no,我们编写一个Web服务,减去我们编写的不同Web服务,但计算器是一个使用add,subtract和许多其他web服务的Web应用程序。

答案 4 :(得分:7)

让我们举一个谷歌搜索的例子。 我们可以通过两种方式使用Google搜索。首先,我们可以访问http://www.google.com并提出搜索查询。谷歌返回结果。其次,我们可以在我们的网站中将Google搜索与自定义搜索API集成。

在第一种情况下,Google搜索充当网络应用程序,而在第二种情况下,它充当网络服务。

我们可以在这里指出一些差异,

  1. 当机器与Web服务交互时,用户与Web应用程序交互。
  2. 要访问Web应用程序,必须访问应用程序。虽然可以从任何地方(从任何集成它的应用程序)访问Web服务。我们不需要明确访问该服务。

答案 5 :(得分:5)

web服务等同于java中具有Web包装器的方法。它存在于服务器上,可以发送数据/查询等,可能会也可能不会返回结果。它没有任何前端,只能通过http get,put,delete等访问。

Web应用程序是一个功能齐全的软件,位于服务器上,旨在帮助人们完成任务。这将有一个允许用户与之交互/输入数据等的前端。

Web应用程序可以使用多个Web服务来实现其目标/最终结果

答案 6 :(得分:3)

Web应用程序和Web服务之间几乎没有区别。 Web应用程序:在用户请求任何数据的Web应用程序中,服务器将响应嵌入到某些HTML中并将其转发给用户,并在浏览器上呈现HTML。 虽然在Web服务中它的做法不同,当某些用户请求某些数据时,服务器会返回一个json或XML数组对象,并且无论如何网页设计者都希望显示数据。 谢谢希望它解决了这个问题。

答案 7 :(得分:1)

Web服务和Web应用程序之间的主要区别在于,Web应用程序通常用于人机交互,而Web服务通常用于计算机到计算机的交互。

Web应用程序既可以包含面向人类用户的图形用户界面,也可以包含一组用于计算机“用户”(客户端)的Web服务。例如,像Paypal这样的支付服务既有人类用户的图形用户界面,也有一套网络服务,您可以通过这些服务让自己的后端系统访问Paypal服务。

此图显示了一个Web应用程序,其中包含图形用户界面和Web服务界面(一组公开Web应用程序所选功能的Web服务):A web application with a GUI for human users, and web services for computerized clients.

答案 8 :(得分:0)

Web服务用于应用程序消费,通过Web应用程序调用 要与Web服务数据通信,应该作为SOAP消息或通过HTTP发送REST即XML

大多数情况下,Web服务不是应用程序的一部分,因为它便于其他Web应用程序的使用,并且不能直接用于最终用户

Web应用程序是由GUI直接调用的人类消费,可能会也可能不会使用Web服务来提供响应