写“网络服务”是什么意思?

时间:2009-11-14 17:52:29

标签: web-services scripting webserver

我刚问了一个问题,是否有可能编写网页检查代码并从免费的Web服务器运行它,一位支持者回答并说it was possible only if I run "a web service" as simple script won't do that。他还建议我使用Google App Engine服务。我想知道编写“Web服务”是什么意思,它与编写脚本有什么不同?

3 个答案:

答案 0 :(得分:2)

Web服务本质上提供了基于Web协议(HTTP)的RPC(远程过程调用)功能。 URL实现一个API,它接受一组函数参数并返回一个值。使用不同的方法在HTTP协议之上实现此RPC机制。 XML-RPC定义了一种使用XML指定参数和响应的简单机制。 SOAP是XML-RPC的高级版本。 JSON-RPC允许您使用JSON(JavaScript Object Notation)指定过程参数并返回值。

多种编程语言都内置了对开发和使用Web服务的支持。例如,在Python中,xmlrpclib提供XML-RPC协议的客户端功能。 Python中的XmlRpcServer库使得开发基于XML-RPC的Web服务器变得非常容易。 Web服务是可互操作的,因为客户端和服务器可以很容易地用不同的编程语言实现,并且他们不需要担心彼此的细节。

Web服务与COM / CORBA / JAVA的RMI等其他RPC机制不同。这些RPC机制使用二进制数据来交换参数和结果。 Web服务使用面向文本的协议(如XML / JSON)来实现RPC协议。因此,从通信开销的角度来看,它们更重。它们仍然非常适合松散耦合系统的开发。它们的一大优势是它们与特定的编程语言无关。

答案 1 :(得分:1)

通过“Web服务”,通常指通过HTTP协议可用的服务。位于HTTP之上的协议可能有所不同(XML,SOAP,JSON等)。

但当然可以随意“复杂化”这个定义: - )

答案 2 :(得分:1)

这是网络服务的示例:http://www.webservicex.net/CurrencyConvertor.asmx?op=ConversionRate

当您向下滚动时,您将看到可以提供两个参数并获得结果。 Web服务可以支持不同的通信方法。您可以使用XML,SOAP或HTTP GET / POST与它进行通信。

因此,web-service是一种特殊类型的脚本,其主要功能是将方法暴露给公共使用(您可以设置访问权限),在服务器端执行计算并返回输出。