http soap关系

SOAP HTTP的关系?

 

http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法

一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

 

soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。

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

 

关系:SOAP是个通信协议, SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。

 

 

Web Service和SOAP以及HTTP的关系?

 

Web Service、WSDL、SOAP、HTTP的概念存在诸多联系,在不同的产品中体现的概念也不一样。本文旨在描述一下其联系 和区别。
WebService 和 WSDL的关系?
Web Service提供一种可被调用的服务,该服务必须通过WSDL定义接口,接口描述了WEB SERVICE 的逻辑定义(types,messages,portTypes)和传输协议(bindings,services)。客户端通过WSDL定义的访问方式和逻辑结构调用该服务。

Web Service和SOAP以及HTTP的关系?

SOAP是简单对象访问协议,定义了一种跨平台的分布式系统通信协议。SOAP需要绑定到更低层次的传输协议(比如, HTTP,RMI,JMS)等。最常用的是HTTP绑定,所以也经常把SOAP的概念和HTTP混在一起说。
比如:W3C定义 ”A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages......"
   
理论上通过WSDL描述的Web Service可以有很多种不同的绑定,但是实际上经常使用SOAP HTTP绑定 (就是采用“SOAP通信协议的HTTP绑定格式”来绑定)。

小结一下,感觉狭义的Web Service肯定是用WSDL/SOAP/HTTP,泛义的Web Service只要用了WSDL就算。

 


SOAP,HTTP GET,HTTP POST

 

在web服务中,有三种可供选择的发送和接受信息的协议:SOAP,HTTP GET,HTTP POST,但是SOAP支持的数据类型更为广泛

SOAP=RPC+HTTP+XML

       SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。RPC的描叙可能不大准确,因为SOAP一开始构思就是要实现平台与环境的无关性和独立性,每一个通过网络的远程调用都可以通过SOAP封装起来,包括DCE(Distributed Computing Environment ) RPC CALLS,COM/DCOM CALLS, CORBA CALLS, JAVA CALLS,etc。

       SOAP 使用 HTTP 传送 XML,尽管HTTP 不是有效率的通讯协议,而且 XML 还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML 是一个开放、健全、有语义的讯息机制,而 HTTP 是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。但是如果效率对你来说很重要,那么你应该多考虑其它的方式,而不要用 SOAP。

你可能感兴趣的:(网络)