浅谈WebService SOAP、Restful、HTTP(post/get)请求

HTTP-GET 和 HTTP-POST

HTTP-GET和HTTP-POST是标准协议,他们使用HTTP(超文本传输协议)谓词(谓词是指条件表达式的求值返回真或假的过程。)对参数进行编码并将参数做为名称/值对传递,还使用关联的请求语义。每一个协议都包含一系列HTTP请求标头,HTTP请求标头及其余一些信息定义客户端向服务器请求哪些内容,哪一个服务器用一系列HTTP响应标头和所请求的数据进行响应。 php

HTTP-GET 使用 MIME 类型 application/x-www-form-urlencoded(将追加处处理请求的服务器的 URL 中)以 URL 编码文本的形式传递其参数。 URL 编码是一种字符编码形式,可确保传递的参数中包含一致性文本,例如将空格编码为 %20,其它符号转换为%XX,其中XX为该符号以16进制表示的ASCII(或ISO Latin-1)值。 追加的参数也称为查询字符串。 html

与 HTTP-GET 相似,HTTP-POST 参数也是 URL 编码的。 可是,名称/值对是在实际的 HTTP 请求消息内部传递的,而不是做为 URL 的一部分进行传递。 linux

咱们平常网站、系统都是使用这种形式进行访问咱们的应用程序。 web


web service(SOAP)

Webservice的一个最基本的目的就是提供在各个不一样平台的不一样应用系统的协同工做能力。 数组

Web service 就是一个应用程序,它向外界暴露出一个可以经过Web进行调用的API。 缓存

SOAP是一种简单基于xml的轻量协议,用户web上交换结构化信息和类型信息。 安全

soap请求是HTTP POST的一个专用版本,遵循一种特殊的xml消息格式Content-type设置为: text/xml任何数据均可以xml化。 服务器


Restful
restful

REST(Representational State Transfer)一种轻量级的Web Service架构,能够彻底经过HTTP协议实现。其实现和操做比SOAP和XML-RPC更为简洁,还能够利用缓存Cache来提升响应速度,性能、效率和易用性上都优于SOAP协议。
REST架构对资源的操做包括获取、建立、修改和删除资源的操做正好对应HTTP协议提供的GET、POST、PUT和DELETE方法(Verb)
网络


SOAPHTTP的区别

为何要学习web service?

大多数对外接口会实现web service方法而不是http方法,若是你不会,那就没有办法对接。

web service相对http (post/get)有好处吗?

1.接口中实现的方法和要求参数一目了然

2.不用担忧大小写问题

3.不用担忧中文urlencode问题

4.代码中不用屡次声明认证(帐号,密码)参数

5.传递参数能够为数组,对象等...

web service相对http(post/get)快吗?

因为要进行xml解析,速度可能会有所下降。 

web service 能够被http(post/get)替代吗?

彻底能够,并且如今的开放平台都是用的HTTP(post/get)实现的。


Restful与SOAP的区别

安全性:SOAP会好于restful

效率和易用性(REST更胜一筹)

成熟度(总的来讲SOAP在成熟度上优于REST)



可参考下面文章学习:

理解RESTful架构 - 阮一峰的网络日志

浅谈HTTP-GET 、 HTTP-POST 和SOAP

web service(SOAP)与HTTP接口的区别

WebService的两种方式SOAP和REST比较

为何使用WebService

相关文章
相关标签/搜索