2009-09-03 46 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