【转载】HTTP和SOAP完全就是两个不同的协议

【转载】HTTP和SOAP完全就是两个不同的协议

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里去的能力。

 

【转自】http://www.cnblogs.com/Ilin631/archive/2011/05/25/2056820.html

 

下面这个解释的很透彻

HTTP只负责把数据传送过去,不会管这个数据是XML、HTML、图片、文本文件或者别的什么。而SOAP协议则定义了怎么把一个对象变成XML文本,在远程如何调用等,怎么能够混为一谈。 

这样说两种协议: 
HTTP就是邮局的协议,他们规定了你的信封要怎么写,要贴多少邮票等。。。。 
SOAP就是你们之间交流的协议,负责把你所需要表达的意思写在信纸上,同时也负责让对方能够看得懂你的信。

Web service一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。

webService协议主要包括两个方面:传输协议和数据表示,关于传输协议可以是http或其他,数据表示也可以是键值对、xml或其他,只不过现在通用的是http+soap,当然其他的也可以,不知道这样理解对不对?

SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。

 

【转自】http://blog.csdn.net/21aspnet/article/details/1536824

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119419.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 实战|手把手教你用Python爬取存储数据,还能自动在Excel中可视化!「建议收藏」

    实战|手把手教你用Python爬取存储数据,还能自动在Excel中可视化!「建议收藏」大家好,在之前我们讲过如何用Python构建一个带有GUI的爬虫小程序,很多本文将迎合热点,延续上次的NBA爬虫GUI,探讨如何爬取虎扑NBA官网数据。 并且将数据写入Excel中同时自动生

    2022年7月5日
  • LeetCode——Longest Substring Without Repeating Characters

    LeetCode——Longest Substring Without Repeating Characters

    2022年1月3日
  • java nio 如何使用_Java NIO 系列教程[通俗易懂]

    java nio 如何使用_Java NIO 系列教程[通俗易懂]JavaNIO(NewIO)是从Java1.4版本开始引入的一个新的IOAPI,可以替代标准的JavaIOAPI。本系列教程将有助于你学习和理解JavaNIO。JavaNIO提供了与标准IO不同的IO工作方式:ChannelsandBuffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总…

    2022年7月8日
  • pages enableEventValidation 事件的机制处理

    pages enableEventValidation 事件的机制处理回发或回调参数无效。在配置中使用或在页面中使用<%@PageEnableEventValidation=”true”%>启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用ClientScriptManager.RegisterForEventValidation方法来注册回发或回调数据以…

    2022年7月24日
  • [转载]interp1「建议收藏」

    [转载]interp1「建议收藏」MATLAB中的插值函数为interp1,其调用格式为:yi=interp1(x,y,xi,’method’)其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量,’method’表示采用的插值方法,MATLAB提供的插值方法有几种:’method’是最邻近插值,’linear’线性插值;’spline’三次样条插值;’cub…

    2022年5月25日
  • 机器学习是什么?

    机器学习是什么?WhatisMachineLearning?机器学习现在是一大热门,研究的人特多,越来越多的新人涌进来。不少人其实并没有真正想过,这是不是自己喜欢搞的东西,只不过看见别人都在搞,觉着跟大伙儿

    2022年8月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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