我是Web开发的新手。因此,如果问题是愚蠢的,请礼貌。为了创建我的应用程序,我不得不决定是编写Web服务还是Web应用程序。在stackoverflow中搜索了几个问题之后,我才知道,Web服务是一种不涉及人工交互的东西。 Web应用程序是人类使用的(UI /网页类型的东西)。
但最近,我看到gmail是一个Web服务(电子邮件服务)。但是我从这里感到困惑,因为,gmail提供了一个用户界面,人与人之间的互动确实发生了。从那以后,我再次感到困惑。
所以我从中发现,gmail网站就像是一个供用户直接使用的网络应用程序。 Web应用程序又使用Google提供的Web服务来发送电子邮件。我的理解是对的吗?那么Web应用程序可以成为Web服务的客户端吗?
如果我在某处错了,请纠正我。我希望在有人用一些很好的例子说明这一点之后能够明白。提前谢谢。
答案 0 :(得分:1)
你是对的。基本上,Web服务在HTTP(通常)上有几个端点,它们提供数据(通常是JSON或XML),并且是由Web客户端使用的。有时它们也被称为Web API(应用程序接口)。
Web应用程序与Web服务非常相似,但它提供了用户可以与之交互的界面。通常,Web应用程序是Web服务或Web API的使用者。
根据您的示例,Google电子邮件可以被视为Web服务和Web应用程序。它是一个Web服务,因为它提供了一组独立于其Web UI应用程序(GMail)的HTTP端点。实际上,您可以找到与Google电子邮件Web API交互的第三方Web应用程序。
在设计Web解决方案时,这个概念非常重要。理想情况下,您希望设计和实现一个良好的Web API,通常是一个RESTful服务(使用JSON / XML)。然后,由于此API,您或其他人将能够实现不同类型的应用程序(Web,Mobile等)。