2009-07-22 33 views

回答

-2

首先,而SOAP是專門針對Web的技術,REST無關與HTTP,但仍然是非常適合於Web服務。 REST也是一種體系結構,而不是SOAP協議。因此,只要遵守體系結構的約束條件,實現RESTful服務的方法有很多。

REST更適合傳統的HTTP堆棧,因爲它要求在可能的情況下正確使用協議。 SOAP僅僅使用HTTP作爲它自己的協議周圍的一種包裝器/代理,這不是HTTP的目的。 SOAP嘗試解決HTTP的限制,但它沒有充分利用HTTP提供的許多優勢。

例如,位於客戶端和內容服務器中間的緩存服務器應該能夠緩存請求和響應,而不理解每個內容的任何內容,這對於SOAP來說是不可能的,因爲需要的實際內容被緩存的是HTTP消息內容的一個子集,在一堆SOAP包裝和專有結構中。 RESTful服務沒有這個問題,所以它們的規模更自然。

要獲得關於REST的最佳信息來源,請閱讀Fielding的dissertation和他的blog,他清除了常見的誤解。 (他是創建REST規範的人)

+0

-1:「更適合傳統的HTTP協議棧,因爲它需要正確的用法」 - 什麼適合與任何事情有關,以及要求正確的用法如何實現它? SOAP使用HTTP作爲許多可能的傳輸之一,這個概念對於任何懂得分層網絡協議的人都應該是熟悉的。 SOAP爲什麼要關心利用HTTP提供的優勢?這是一個_protocol_。我希望你只會緩存GET請求和響應?什麼「專有結構」? – 2009-07-23 10:01:50

0

下面是一個問題:如果您對HTTP以外的其他傳輸方式沒有任何用處,那麼REST可能是更好的選擇。