简介:
Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
Restful架构风格的特点:
REST即Representational State Transfer的缩写,可译为"表现层状态转化”。REST最大的几个特点为:资源、统一接口、URI和无状态。
1.资源:所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息。可以是网络上的任何信息资源
2.统一接口:Restful架构风格规定,数据的元操作,即CRUD(create, read, update和delete,即数据的增删查改)操作
3.url:可以用一个URI(统一资源定位符)指向资源,即每个URI都对应一个特定的资源。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或识别符。一般的,每个资源至少有一个URI与之对应,最典型的URI即URL。
4.无状态:所谓无状态的,即所有的资源,都可以通过URI定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而改变。
无状态与有状态的区别:(了解即可)
举个简单的例子说明一下。如查询员工的工资,如果查询工资是需要登录系统,进入查询工资的页面,执行相关操作后,
获取工资的多少,则这种情况是有状态的,因为查询工资的每一步操作都依赖于前一步操作,只要前置操作不成功,
后续操作就无法执行;如果输入一个url即可得到指定员工的工资,则这种情况是无状态的,
因为获取工资不依赖于其他资源或状态,且这种情况下,员工工资是一个资源,由一个url与之对应,
可以通过HTTP中的GET方法得到资源,这是典型的RESTful风格
优点:
基于这种风格架构,软件编写可以更简洁
基于 HTTP 协议, 支持多种消息格式,比如 XML 、JSON
更易于实现缓存机制 (第一次访问资源 缓存,第二次访问资源,返回 304 客户端调用本地)