SOAP协议和HTTP协议的区别
SOAP(Simple Object AccessProtocol)简单对象访问协议。它是轻型协议,用于分散的、分布式计算环境中交换信息。SOAP有助于以独立于平台的方式访问对象、服务和服务器。SOAP是把成熟的基于HTTP的WEB技术与xml的灵活性和可扩展性组合在了一起。 SOAP 请求是一个HTTPPOST请求。每个SOAP体是一个XML文档,它具有一个显著的称 为的根元素。content-type必须用text/xml。xml文件具体详解又是一个课题,先了解个大概。 四个主要组成部分: 第一部分:SOAP封装(Envelop)定义了一个的框架(描述消息的内容多少、谁发送、谁应当接受、处理,以及如何处理它们)。 第二部分:SOAP编码规则(Encoding Rules)定义了可选数据编码规则,用于表示应用程序定义的数据类型和直接图表,以及一个用于序列化非语法数据模型统一标准。 第三部分:SOAP RPC表示(RPC Representation)定义一个远程调用风格(请求/响应)信息交换的模式。 第四部分:SOAP绑定(Binding)定义了SOAP和HTTP之间的绑定和使用底层协议的交换。
HTTP是标准超文本传输协议。基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80。 HTTP协议的特点: 1.HTTP协议是无状态的 就是说每次HTTP请求都是独立的,任何两个请求之间没有什么必然的联系。但是在实际应用当中并不是完全这样的,引入了Cookie和Session机制来关联请求。 2.多次HTTP请求 在客户端请求网页时多数情况下并不是一次请求就能成功的,服务端首先是响应HTML页面,然后浏览器收到响应之后发现HTML页面还引用了其他的资源,例如,CSS,JS文件,图片等等,还会自动发送HTTP请求这些需要的资源。现在的HTTP版本支持管道机制,可以同时请求和响应多个请求,大大提高了效率。 3.基于TCP协议 HTTP协议目的是规定客户端和服务端数据传输的格式和数据交互行为,并不负责数据传输的细节。底层是基于TCP实现的。现在使用的版本当中是默认持久连接的,也就是多次HTTP请求使用一个TCP连接。
常用的请求方法:GET/POST/DELETE/PUT 常见的响应的状态码:200OK/400Bad Request/403Forbidden/404Not Found/500Internal Server Error/
二者异同:都是底层的通信协议,请求包的格式不同而已,soap包是XML格式,http纯文本格式。