什么是SOAP?一份完整介绍

2020.05.08 -

   

SOAP(简单对象访问协议的缩写)是一种消息传递协议规范,用于在计算机网络中实施Web服务时交换结构化信息。它的目的是提供可扩展性,中立性,冗长性和独立性。它使用XML信息集作为其消息格式,并且依赖于应用程序层协议,最常见的是超文本传输​​协议(HTTP),尽管某些传统系统通过简单邮件进行通信传输协议(SMTP),用于消息协商和传输。

SOAP允许开发人员调用在不同操作系统(例如Windows,macOS和Linux)上运行的进程,以使用可扩展标记语言(XML)进行身份验证,授权和通信。由于在所有操作系统上都安装并运行了HTTP之类的Web协议,因此SOAP允许客户端调用Web服务并接收与语言和平台无关的响应。

SOAP的特点

SOAP为Web服务提供了Web服务协议栈的Messaging Protocol层。它是一个基于XML的协议,由三部分组成:

  • 一个信封,它定义了消息结构。以及如何处理它。
  • 一组用于表达应用程序定义的数据类型实例的编码规则。
  • 表示过程调用和响应的约定。

SOAP具有三个主要特征:

  1. 可扩展性(安全性和WS-Addressing在开发中)
  2. 中立(SOAP可以在任何协议(例如HTTP,SMTP,TCP,UDP)上运行)
  3. 独立性(SOAP允许任何编程模型)

SOAP体系结构

SOAP体系结构由以下几层规范组成:

  • 讯息格式
  • 邮件交换模式(MEP)
  • 底层传输协议绑定
  • 消息处理模型
  • 协议可扩展性

SOAP协议的优点

  • SOAP的中立特性明确使其适合与任何传输协议一起使用。实现通常使用HTTP作为传输协议,但是也可以使用其他流行的传输协议。例如,SOAP也可以在SMTP,JMS和消息队列上使用。
  • SOAP与HTTP发布/响应交换结合使用时,可以轻松地通过现有的防火墙和代理进行隧道传输,因此不需要修改用于处理HTTP发布/响应交换的广泛的计算和通信基础结构。
  • SOAP提供了XML的所有功能,包括易于国际化和XML命名空间的可扩展性。

SOAP协议的缺点

  • 使用标准实现和默认的SOAP / HTTP绑定时,XML信息集将序列化为XML。为了提高具有嵌入式二进制对象的XML特殊情况的性能,引入了消息传输优化机制。
  • 当依靠HTTP作为传输协议而不使用Web服务寻址或企业服务总线时,交互方的角色是固定的。只有一方(客户)可以使用另一方的服务。
  • SOAP不如名称所暗示的那样“简单”。协议的冗长,XML的解析速度慢以及缺乏标准化的交互模型,导致使用HTTP协议更直接地主导了服务。

看完此文相信您对什么是SOAP协议有了很全面的了解。

本站文章禁止转载,违者必究
阅 189
0

SOAP(简单对象访问协议的缩写)是一种消息传递协议规范,用于在计算机网络中实施Web服务时交换结构化信息。它 […]

湘公网安备 43011102001693号

    湘ICP备19003021号-1