2009-09-03 63 views
4

对不起,第100000个人问同样的问题。但我想我的情况有点独特。REST/JSON/XML-RPC/SOAP

该应用程序是我们希望在3G上有一个Android手机客户端和一个轻量级的python web服务服务器。

该手机将完成大部分工作,并执行大量上传,图片,GPS等等。服务器只需响应每个上传的“OK”即可。

我想用最轻的方法,最简单的方法就是电池。但是阅读所有这些协议有点混乱,因为它们听起来都是一样的。

他们都在同一水平?或者JSON可以成为一个RESTful的东西等?如上所述,这里的关键是上传。 REST事务的所有输入都必须位于URI中吗?即http://www.server.com/upload/0x81d058f82ac13。 XML-RPC和SOAP的声音也与谷歌类似。

回答

7

REST强制执行一般语义和概念。运输和编码由您决定。它们最初是用XML编写的,但JSON完全适用。

XML-RPC/SOAP是不同的机制,但大多是相同的想法:如何在XML和HTTP之上映射OO API。恕我直言,他们从设计观点恶心。当我发现REST时,我感到如释重负。在你的情况下,我相信大量的图层意味着更多的CPU需求。

我会说去REST,使用JSON进行编码;但如果你的需求真的很简单,只需上传,那么你可以简单地使用HTTP(即使没有添加任何特定的库,也可能是RESTful)

+4

普通的旧HTTP应该可以工作。 HTTP响应代码头可以用来指示成功或失败。在2xx系列中取得成功,而在4xx系列中失败。请参阅http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html – MadCoder 2009-09-03 03:50:18

+3

REST是普通的旧HTTP。这是一种将语义分配给HTTP GET,POST和URI路径的方法。 – 2009-09-03 12:16:34

+0

但是我不明白REST如何比XML-RPC更简单。 如果我得到它的权利,一个JSON后会像 http://server.com/class1 HTTP POST { “等等等等”, “JSON的东西”} 和XML-RPC后会是 http://server.com HTTP POST class1的东西 因此,除了一个事实,即XML比JSON稍胖一点,还有什么他们之间有着根本的不同? – xster 2009-09-03 15:41:31