REST 是面向资源的架构风格,复用 HTTP 语义(GET/POST/PUT/DELETE、状态码、缓存),数据通常是 JSON,轻量、无状态、天然适合浏览器与开放生态。SOAP 是基于 XML 的协议规范,有严格的消息封装(Envelope),并配套 WS-* 标准族(WS-Security、WS-AtomicTransaction 等)和 WSDL 契约描述。

适用场景:

  • REST:互联网公开 API、移动端与前端调用、微服务间通信、需要利用 HTTP 缓存与 CDN 的读多场景——追求简单、低门槛、高吞吐。
  • SOAP:传统企业级集成,尤其是契约严格、需要形式化接口定义和工具链自动生成客户端的场合;以及依赖 WS-Security 做消息级加密签名、需要 ACID 事务跨服务传播的金融、政务遗留系统。

易错点:REST 不是协议,滥用“REST 比 SOAP 安全/快”不严谨——SOAP 开销主要在 XML 冗余与协议栈复杂;如今多数新系统选 REST/JSON 或 gRPC,SOAP 多见于存量系统对接。追问方向:gRPC 与 REST 的取舍、REST 成熟度模型。