它基於HTTP協議,是一種明確構建在客戶端/服務端體系結構上的一種風格。特征如下:
1、網絡上的資源都被抽象為資源,這些資源都具有唯一的統一資源標識符(URI:Uniform Resource Identiter),這些資源都是自我們描述的。這些資源使用HTTP內容標頭類型指定。如:XML、JSON、HTML、PNG等。
2、服務的使用者通過HTTP協議的標准動作(Get、Put、Post、Delete)通過統一的接口對資源進行操作。
3、對資源進行的操作不會改變它的URI。
4、客戶端、服務端之間的交互是沒有狀態的。由於這種無狀態行,服務端不需要為每個客戶端維護Context
SOA的特征
1、通過網絡終結點對外提供服務。
2、粗粒度的服務接口。
REST與SOA的共同點
REST與SOA兩者,雖有不同點,但是他們都作為服務的不同架構風格,具有服務的一般屬性。具體如下:
1、統一的服務契約接口與服務接口
2、松散的耦合。
3、只要有權限都可以進行訪問
REST與SOA的不同點
1、REST風格下的,只有一種協議,那就是HTTP。而SOA下的WCF就和多種協議了。如:TCP、HTTP、MSMQ等多種協議
2、使用方式上的不同。REST只要客戶端能夠模擬HTTP請求,通過標准的HTTP動作,都可以進行訪問。它使用的是HTTPChannel管道,而SOA使用的管道有HTTPChannel、TcpChannel、RPC等多種。
3、REST寄宿時,雖然可以選擇多種寄宿方式,但必須有應用服務器的支持。