原文: https://howtodoinjava.com/resteasy/comparing-soap-vs-restful-web-services/

    尽管 SOAPRESTful Web 服务 – 都具有相同的目的,即基于 SOA(面向服务的架构)构建应用,但是它们在如何帮助实现最终输出的方式上,有着很大程度上不同。 让我们记下基于 SOAP 和 REST 的 API 之间最明显的区别

    SOAP REST
    SOAP 是基于 XML 的消息传递协议 REST 不是协议而是建筑风格
    SOAP 具有用于状态实现的规范 REST 仅遵循无状态模型
    最少的工具/中间件是必需的。 仅需要 HTTP(主要是基于 HTTP)的支持 URL 通常引用正在访问/删除/更新的资源
    定义良好的机制来描述接口,例如 WSDL + XSD,WS-Policy 正式描述标准尚未广泛使用。 每个人都自己解释
    有效负载必须符合 SOAP 模式 有效负载无限制
    内置错误处理 尽管可以使用 HTTP 错误代码,但没有错误处理
    SMTP 和 HTTP 都是有效的应用层协议,用作 SOAP 传输 绑定到 HTTP 传输模型
    SOAP Web 服务完全忽略 Web 缓存机制 RESTful Web 服务充分利用了 Web 缓存机制,因为它们基本上基于 URL。
    很难学 易于学习,因为每个人都了解 HTTP
    通过 WS-SECURITY 对 SOAP 安全性进行了很好的标准化 HTTP 协议层提供了安全性,例如基本认证和通过 TLS 的通信加密
    当您向外界发布复杂或可能会更改的 API 时,SOAP 将更加有用 除此之外,REST 通常是更好的选择

    如果您知道这些差异,请随时添加。 它也会帮助其他人。

    祝您学习愉快!