SOAP和REST的基本区别如下:
SOAP是协议, REST是架构风格
SOAP Web Services的开发需要遵循SOAP协议。
REST Web services的开发需要遵循REST的架构风格。
一个REST Web service也可以使用SOAP协议。
消息格式
SOAP支持XML消息格式,REST支持平文,HTML,XML,JSON格式消息
驱动
SOAP是功能驱动,REST是数据驱动或资源驱动
使用协议
SOAP可以使用HTTP,SMTP等协议, REST只使用HTTP协议
安全性
SOAP更安全,不仅像 REST 一样支持 SSL,还支持增加了很多企业级安全特性的 WS-Security(WS = web services),因此它能够提供通过中介的身份验证,而不仅仅是端对端的验证(SSL)。还有内置的ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))
REST 受限于 HTTPS,HTTP 本身无法提供两阶段提交分布式事务资源,但是 SOAP 可以。
复杂性ÿ