简述SOAP协议「建议收藏」

简述SOAP协议「建议收藏」8个月过去了,依旧清楚的记得研究生复试时,老师问我SOAP协议是啥(当时还不知道这个协议的名字到底该怎么写),今天偶然之间看见了一篇博客提到了SOAP(见下图),于是就查了一下SOAP协议。SOAP是基于XML的简易协议,可使应用程序在HTTP之上进行信息交换。更简单地说:SOAP是用于访问网络服务的协议。什么是SOAP?SOAP指简易对象访问协议SOAP是一种…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

8个月过去了,依旧清楚的记得研究生复试时,老师问我SOAP协议是啥(当时还不知道这个协议的名字到底该怎么写),今天偶然之间看见了一篇博客提到了SOAP(见下图),于是就查了一下SOAP协议。
在这里插入图片描述

SOAP 是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换。
更简单地说:SOAP 是用于访问网络服务的协议

什么是 SOAP?

  • SOAP 指简易对象访问协议
  • SOAP 是一种通信协议
  • SOAP 用于应用程序之间的通信
  • SOAP 是一种用于发送消息的格式
  • SOAP 被设计用来通过因特网进行通信
  • SOAP 独立于平台
  • SOAP 独立于语言
  • SOAP 基于 XML
  • SOAP 很简单并可扩展
  • SOAP 允许您绕过防火墙
  • SOAP 将被作为 W3C 标准来发展

SOAP是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP)、简单邮件传输协议(SMTP)、多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

SOAP协议可以简单地理解为:SOAP=RPC+HTTP+XML,从而允许服务提供者和服务客户经过防火墙在Internet上进行通信交互。

  • HTTP作为通信协议
  • RPC(Remote Procedure Call Protocol,远程过程调用协议)作为一致性的调用途径
  • XML作为数据传送的格式
  • SOAP封装(envelop):定义了一个框架,描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们;
  • SOAP编码规则(encoding rules):定义了一种序列化机制,用于表示应用程序需要使用的数据类型的实例;
  • SOAP RPC表示(RPC representation):定了一个协定,用于表示远程过程调用和应答;
  • SOAP绑定(binding):定义了SOAP使用哪种协议交换信息。使用HTTP、TCP、UDP都可以。

使用SOAP的原因

SOAP 提供了一种标准的方法,使得运行在不同的操作系统、使用不同的技术和编程语言的应用程序可以互相进行通信。

SOAP的优点

  • 可扩展:SOAP 无需中断已有的应用程序, SOAP 客户端、 服务器和协议自身都能发展,而且SOAP 能极好地支持中间介质和层次化的体系结构。
  • 简单:客户端发送一个请求,调用相应的对象, 然后服务器返回结果。这些消息是XML 格式的,并且封装成符合HTTP 协议的消息。因此,它符合任何路由器、 防火墙或代理服务器的要求。
  • 完全和厂商无关:SOAP可以相对于平台、 操作系统、 目标模型和编程语言独立实现。另外,传输和语言绑定以及数据编码的参数选择都是由具体的实现决定的。
  • 与编程语言无关:SOAP 可以使用任何语言来完成,只要客户端发送正确SOAP 请求( 即传递一个合适的参数给一个实际的远端服务器)。SOAP 没有对象模型,应用程序可以捆绑在任何对象模型中。
  • 与平台无关:SOAP 可以在任何操作系统中无需改动正常运行

SOAP和HTTP有什么区别?

二者都是底层的通信协议

请求包的格式不同:SOAP是XML格式,HTTP是纯文本格式
SOAP可以传递结构化的数据,HTTP只能传输纯文本数据
SOAP相对HTTP(post/get)由于要进行XML解析,速度可能会有所降低

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157812.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Python那么火,到底能用来做什么?我们来说说Python3的主要应用

    Python那么火,到底能用来做什么?我们来说说Python3的主要应用

  • Gridview漂亮的样式

    Gridview漂亮的样式  linkhref=”StyleSheet.css”rel=”stylesheet”type=”text/css”/>linkhref=”GamerGridView.css”rel=”stylesheet”type=”text/css”/> StandardGridViewdeclaration:/par??/cf0/

  • net mvc 设置启动页面「建议收藏」

    net mvc 设置启动页面「建议收藏」在项目的App_Start文件夹下的RouteConfig页面设置publicstaticvoidRegisterRoutes(RouteCollectionroutes){routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”);routes.MapRoute(name:”Default”,url:”{controller}/{action}/{id}”,defaults:new{controller=”Home”,

  • 初学TypeScript之接口定义

    初学TypeScript之接口定义TypeScript入门(2)前面讲了如何使用TypeScript和TypeScript的数据类型有哪些,这一章就讲解TypeScript的接口。如果不知道如何写TypeScript的朋友或者不知道TypeScript的数据类型有哪些的朋友可以转至TypeScript的使用以及数据类型详解处观看。接口:简介:TypeScript的核心原则是对值所具有的结构进行类型检查。在TypeSc…

  • 排查挖矿病毒

    排查挖矿病毒场景最新发现linux服务器一直很卡,导致无法编译和其它相关操作。排查分析经top查看原来是一个叫269的进程一直抢占CPU,占比高达4000%。而该269进程则是挖矿病毒进行高度伪装,即使是kill掉该进程也无济于事,后面又会自动跑起来。top-19:29:19up1:24,2users,loadaverage:41.71,41.75,41.46Tasks:891total,3running,502sleeping,0st..

  • 二叉树中序遍历(非递归)算法实现–C语言「建议收藏」

    二叉树中序遍历(非递归)算法实现–C语言「建议收藏」今天继续二叉树的学习。昨天写了一遍二叉树的先序遍历(非递归)算法,今天写一下二叉树的二叉树的中序遍历(非递归)算法。中序遍历的非递归算法有两种,但是个人觉得只要掌握一种就可以了,只要自己的逻辑清晰,会哪一种又有什么关系呢~首先给出今天的二叉树的示例图:代码如下://InOrderBiTreeTraverse.cpp:Definestheentrypointforthec…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号