什么是简单对象访问协议 (SOAP)?

SOAP(简单对象访问协议)是一种基于 XML 的基础应用协议,用于在SOA (面向服务架构)中实现 Web 服务。 SOAP 主要通过 HTTP 和中间件消息系统(JMS、MQ 系列、MSMQ、Tuxedo、TIBCO RV)传输,但也可以通过其他协议传输,例如 SMTP(简单邮件传输协议)和 FTP(文件传输协议)。

SOAP 消息通常包含以下元素:

  • 信封: SOAP 信封是 SOAP 消息的根元素,是必需的。 本质上,信封包含 SOAP 消息,就像传统信封包含书面信件一样。
  • 标头: SOAP 标头是可选的,当存在时,它包含特定于应用程序的信息,例如身份验证、寻址和路由详细信息。
  • 身体: SOAP 主体是必需的,它包含正在传输的实际应用消息,包括正在调用的特定远程操作以及正在交换的数据(参数)。

SOAP 消息通常很大,因为它们必须包含应用和客户端解析其中包含的数据并执行适当逻辑所需的信息。 随着消息大小的增加,服务器上所需的处理也随之增加,从而导致服务器资源消耗增加,同时降低整体容量。 尺寸的增加也会对基于 SOAP 构建的应用的性能产生不利影响,因为需要更多的网络资源来传输消息。

由于 SOAP 是基于 XML 的,因此它容易受到大量以 XML 为重点的攻击和漏洞的攻击,并且它还容易受到与其传输层协议(通常是 HTTP)相关的攻击。

可以解决与 SOAP 相关的安全性和性能问题的 F5 产品: BIG-IPapplication安全管理器