Simple Object Access Protocol (SOAP)

Simple Object Access Protocol (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。

F5 产品可以解决与 SOAP 相关的安全和性能问题:BIG-IP Application Security Manager