【问题标题】:what is the different between http request and web servicehttp请求和web服务有什么区别
【发布时间】:2014-02-22 05:40:23
【问题描述】:

我在 Google 上搜索过“网络服务”,我也在 wiki 中阅读过它:

Web 服务是两个电子设备之间的通信方法 万维网上的设备

但是我不能说清楚网络服务是什么意思。

返回xml或json而不是html内容的常见http请求怎么样?例如:

http://www.server.com/ws/getitem?id=xxxx

这是一个通过id获取item详情的接口,同时返回json或xml格式的数据。

现在如果我们用这种web service的方式来实现,会怎么做呢?

【问题讨论】:

    标签: web-services


    【解决方案1】:

    普通网页返回 HTML、PDF 或图像数据,旨在在浏览器中显示给用户。

    Web 服务返回的数据旨在供其他程序使用,而不是直接显示给用户;另一个常见的术语是 API,即应用程序编程接口。它不是返回 HTML,而是返回结构化的数据,便于计算机提取值。常用格式为XMLJSON。 Web 服务还可能对请求使用结构化格式,例如 SOAPWSDL,但有些(如您的示例)仅使用 URL 查询参数。

    Web 服务和普通网页都使用 HTTP 作为数据传输协议。区别在于客户如何使用它们。

    【讨论】:

    • 只是补充一下,通常网络服务使用某种标准格式来发出请求/响应,例如wsdl
    • 我知道web服务是用来通信的,但是在我的例子中,正常的web请求返回json(或xml)数据而不是html,然后客户端(可能是浏览器,移动设备等等),这是一种网络服务。我对此表示怀疑。:(
    • 如果它返回 JSON 或 XML,它是一个 Web 服务,而不是一个网页。
    • 但是我没有使用任何关于SOAP、WSDL或RCP等的东西,这真的是一种服务吗?
    • Web 服务是一个非常笼统的术语。它只是意味着任何使用 HTTP 来检索数据或请求操作,但不显示网页。
    【解决方案2】:

    我认为,如果您的链接返回一个完整的 html 页面,其中充满了对图像、flash、声音、zip 的引用,但您的客户端不是浏览器,并且只是忽略所有这些内容并仅解析它想要从该 html 中得到的内容,它就是抓取和某种网络服务 :-) 虽然效率不高 :-)

    但是,如果您从浏览器发出相同的请求,您不会以编程方式解析任何内容或做任何有用的事情,那么我认为它不是网络服务。

    如果您正在执行 ajax 请求以检索一段 XML 以附加到您的浏览器 DOM,那么您不是在解析要处理的数据,而是只想刷新网页,所以我认为这不是网络服务。

    如果您正在执行另一个 ajax 请求来检索 JSON 对象以由浏览器中的 javascript 客户端代码解释以显示一点警报,那么您没有解析要处理的数据,所以我认为它不是一个网络服务。

    如果您发出一个 http 请求来检索您将使用 itext 解析的 PDF 以便进行一些数据处理,那么您可能正在使用 Web 服务。

    如果您发出 http 请求以检索纯文本 CSV 文件以自动输入到某个数据库中,我认为它也是一项网络服务。

    所以我真的认为 Web 服务和非 Web 服务之间的区别在于交互的另一端是机器还是人。

    这就是为什么使用“典型”网络服务来简化机器人工作的原因:-)

    更新:如果是西装革履的人以高价出售,那肯定是网络服务 ;-)

    ps:如果我使用 ftp 而不是 http 提供相同的内容,即使在浏览器中使用 ftp,它仍然是 Web 服务还是 ftp 还不够 Web? :-)

    【讨论】:

      猜你喜欢
      • 2020-11-30
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 2010-09-11
      • 2013-10-20
      相关资源
      最近更新 更多