1. 传统http访问接口
在传统的http接口调用中,url通常会被定义成为一种操作与资源相结合的访问形式标记,通过使用如add、delete等关键字在其中表达对所访问的资源的一种
改变状态的操作,带来的最直接的问题就是形式上的杂乱,需要进行相应的地址规范化标准制定,维护各种功能的url访问接口。
2. REST是什么
1)REST(表述性状态传递)的核心思想能够被概括为一句话:URL定位资源,HTTP method 定义操作。
资源的定义通过URL进行,其中的层次结构可以我们去自定义完成,但是资源的描述过程中不允许出现对其产生操作的相关内容,操作相关的描述工作交给HTTP method 来完成,因此REST最大的优势特性就是简洁。
例如:我们需要对一个用户id为64522的用户信息资源进行更新操作,那么URL的定义就是 /user/64522/profile 或 /user/profile?userid=64522 通过参数的形式进行传递,具体的更新操作则是要通过HTTP的PUT方法来进行。
2)REST是无状态的:这是REST一个非常重要的理念,这里的无状态指客户端每次的请求都是高度独立的,不同的请求之间不存在相互的关联与依赖,每一个请求能够独立的完成所请求的任务,与其他资源无关,不改变其他资源,也不会因为其他资源的改变而产生变化。
3)REST的资源操作:
GET —— 用来获取资源
POST —— 用来新建资源(也可以用于更新资源)
PUT —— 用来更新资源
DELETE —— 用来删除资源
3. REST与SOAP
1)REST是一种思想,一种设计风格,而SAOP是一种协议。
2)RESTful Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 来抽象所有 Web 系统的服务能力,SOAP 应用都通过定义自己个性化的接口方法来抽象 Web 服务。
3)REST 的应用可以充分地挖掘 HTTP 协议对缓存支持的能力,而SOAP因为无法查看SOAP请求的内容从而无法轻易实现缓存支持。
4)RESTful Web服务是以资源为中心的,以URL定位所有可访问目标,对每个资源的操作都是标准化的HTTP方法,而SOAP的Web服务以操作为核心,每个操作的输入输出都通过XML文件实现。