Http get,post,soap协议的区别

来源:互联网 发布:java小程序源代码 编辑:程序博客网 时间:2024/05/21 23:56

Http get,post,soap协议的区别

SOAPWeb.net数据结构IE 

1.Http作为web服务的首选协议,居有4大优点:
1)http非常简单,以纯文本(超文本)形式编码的请求和响应组成
2)http是无状态的。一旦发送了一个http请求,客户和服务器之间的连接信息就会被释放,有利于减少服务器资源的消耗。
3)http的运行端口80,在大多数防火墙上是公开的
4)行业认可。
但是Http的缺点:
1)缺少对异步消息的支持
2)消息传输的不可靠性


2. Http get,post,soap协议都是在http上运行的
1)get:请求参数是作为一个key/value对的序列(查询字符串)附加到URL上的
        查询字符串的长度受到web浏览器和web服务器的限制(如IE最多支持2048个字符),不适合传输大型数据集
        同时,它很不安全
2)post:请求参数是在http标题的一个不同部分(名为entity body)传输的,这一部分用来传输表单信息,因此必须将
      Content-type设置为:application/x-www-form-urlencoded。
         post设计用来支持web窗体上的用户字段,其参数也是作为key/value对传输。
         但是:它不支持复杂数据类型,因为post没有定义传输数据结构的语义和规则。
3)soap:是http post的一个专用版本,遵循一种特殊的xml消息格式
        Content-type设置为: text/xml
        任何数据都可以xml化


3. .net web服务体系基本结构
1)将web服务设计为一个.net类,编译自动创建一个wsdl文档
2)客户通过uddi发现查找web服务,决定使用
3).net自动检查wsdl文档,并生成一个客户代理类
4)客户调用web服务方法
      (实际上是客户---代理类----web服务通信)
5)代理类收到一个soap回复,将它转换为适当的.net数据类型返回给客户