Soap Http协议与WebService协议
  sSGzMYbedQdL 2023年11月02日 30 0

一、什么是soap?

soap简单对象访问协议,它是轻型协议,用于分散、分布式计算机环境中交换信息。soap方法指是遵守soap编码规则的http请求/响应【RPC+HTTP+XML= SOAP】,Http在TCP/IP之上进行通信,http客户机使用TCP连接到Http服务器,在建立连接之后,客户端可向服务器发送http请求消息。

soap即采用http作为通信协议,RPC远程过程调用协议作为一致性的调用途径,XML作为数据传送的格式,从而允许服务提供者和服务客户经过防火墙在Internet上进行通信交互。

SOAP请求可能是Http post或Http get请求。http post请求至少两个http请求头,即content-type和content-length。

SOAP 的请求和响应的 Content-Type 头可定义消息的 MIME 类型,以及用于请求或响应的 XML 主体的字符编码(可选)。

SOAP 的请求和响应的 Content-Length 头规定请求或响应主体的字节数。

SOAP把XML的使用代码化为请求和响应参数编码模式,并用HTTP作传输。

SOAP 请求是一个HTTPPOST请求。SOAP请求的content-type必须用text/xml。而且它必须包含一个请求-URI。服务器怎样解释这个 请求-URI是与实现相关的,但是许多实现中可能用它来映射到一个类或者一个对象

一个SOAP请求的HTTP体是一个XML文档,它包含方法中[in]和[in,out]参数的值。这些值被编码成为一个显著的调用元素的子元 素,这个调用元素具有SOAPMethodNameHTTP头的方法名和名域URI。调用元素必须出现在标准的SOAP<Envelope> 和<Body>元素内

二、soap与http的区别

都是底层的通信协议,请求包的格式不同,soap是xml格式,http纯文本格式。

soap可以传递结构化的数据,http只能传递纯文本数据,所以so相对http的get/post由于进行xml解析,速度可能会降低。

三、什么是WebService协议?

【引用链接】​​https://blog.csdn.net/csdnchengxi/article/details/122363157​

http和webservice都是基于tcp/ip协议的应用层协议。

webservice是基于http的soap协议传输数据,webservice=soap=http+xml,webservice协议就是由http+xml组成的,其中xml会用到wsdl,wsdl是描述语言xml中的一种格式。

注:Restful是一种接口规范,而不是接口协议,restful接口规范中也会用到http协议。

 因现在大部分会用http协议不用webservice协议,故没有实际操作,只是转载来了解理论。

四、几种常用的通信方式

1、Webservice:效率不高基于soap协议,其主要的特点是跨语言、跨平台的。项目中不推荐使用,可用于不同公司间接口的调用。

2、使用restful形式的服务:http+json。很多项目中应用。如果服务太多,服务之间调用关系混乱,需要治疗服务。

3、使用dubbo。使用rpc协议进行远程调用,直接使用socket通信。传输效率高,并且可以统计出系统之间的调用关系、调用次数。使用Java语言开发,只能用于Java语言开发的项目间的通信,不具备跨语言,跨平台的特点!



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: Dubbo 下一篇: 【测试】Selenium 实战经验3则
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
sSGzMYbedQdL
最新推荐 更多