http请求和Web服务之间有什么不同

时间:2014-02-22 05:40:23

标签: web-services

我已经搜索了“网络服务”,我也在wiki中阅读了它:

  

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

但是我无法明确网络服务的含义。

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

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

这是一个用于按id获取项目详细信息的接口,同时返回json或xml格式的数据。

现在,如果按照所谓的Web服务方式实现它,将会做什么?

2 个答案:

答案 0 :(得分:6)

普通网页会返回打算在浏览器中向用户显示的HTML,PDF或图像数据。

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

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

答案 1 :(得分:0)

我认为如果你的链接返回一个完整的html页面,充满了对图像,flash,声音,拉链的引用,但你的客户端不是浏览器而只是忽略所有这些内容并只解析它想要的HTML,它是刮取和某种网络服务:-)虽然效率不高: - )

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

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

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

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

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

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

这就是为什么“典型”的Web服务可以让机器人工作变得更容易: - )

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

ps:如果我使用ftp而不是http提供相同的内容,甚至在浏览器中使用ftp,它仍然是一个Web服务或ftp不够网络? : - )