在信息安全领域,SOAP 和 RESTful Web 服务之间有什么区别?
SOAP Web 服务
SOAP 代表简单对象访问协议 (Simple Object Access Protocol)。它是一种基于 XML 的访问 Web 服务的协议。它作为一种中间语言生成,以便用多种编程语言构建的应用程序可以高效地相互通信。Web 服务使用 SOAP 在应用程序之间共享 XML 数据。
SOAP 提供有状态和无状态操作。有状态定义服务器在多个请求中保留从客户端接收的数据。这些请求是链状的,以便服务器了解之前的请求。例如银行交易、航班预订等。无状态消息包含关于客户端状态的足够信息,因此服务器无需担心。
RESTful Web 服务
REST 代表具象状态传输 (Representational State Transfer)。它是一种用于通信目的的架构方法,常用于多种 Web 服务开发。它是一个无状态的客户端-服务器模型。基于 REST 概念定义的 Web 服务称为 RESTful Web 服务。
当客户端通过 RESTful API 创建请求时,它将资源状态的描述传输到服务器。这些信息可以通过 HTTP 以多种格式传输,例如 JSON、HTML、XLT 和纯文本,但由于 JSON 易于被机器和人类读取,因此它是最常用的语言。
在 REST 架构中,一切都是资源。RESTful Web 服务提供了在多个阶段和系统上运行的编程应用程序之间的对应关系。可以将 Web 服务视为按需代码。RESTful Web 服务是一种可以通过向 URL 发送 HTTP 请求来识别功能或技术,服务会将结果作为响应返回。
让我们看看 SOAP 和 RESTful Web 服务之间的比较。
SOAP | RESTful |
---|---|
SOAP 代表简单对象访问协议 (Simple Object Access Protocol)。 | RESTful 代表具象状态传输 (Representational State Transfer)。 |
SOAP Web 服务将响应与 XML 关联,因为实际响应捆绑在始终为 XML 格式的 SOAP 消息中。 | RESTful Web 服务可以以多种格式返回响应,例如 JSON、XML 和 HTML。 |
SOAP 使用 XML 消息来识别要调用的所需 Web 进程或资源。 | RESTful Web 服务使用 URL 来识别要访问的所需资源。 |
SOAP 对传输没有一些限制。它可以使用 HTTP 或 MQ 等。 | RESTful 服务使用著名的 HTTP 协议。 |
SOAP 无法使用 RESTful 服务,因为它是一种协议。 | RESTful 服务可以使用 SOAP Web 服务,因为它是一种可以使用 HTTP 和 SOAP 等协议的架构方法。 |
XML 是 SOAP Web 服务中著名的的数据交换格式。 | JSON 是 RESTful Web 服务中著名的的数据交换格式。 |
广告