RESTFUL风格
一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁。
REST : Representational State Transfer (资源的)表现层状态转化
++一个资源对应一个url++,他的表现格式有很多种,可以用HTML格式、XML格式、JSON格式表现,然而访问一个网站,就代表了客户端和服务器的一个++互动过程++。在这个过程中,++势必涉及到数据和状态的变化++。
互联网通信协议++HTTP协议,是一个无状态协议++。这意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生”状态转化”(State Transfer)。而这种转化是建立在表现层之上的,所以就是 ++”表现层状态转化”++ 。
RESTFUL风格就让这种状态转化形成一定的风格(也是一种习惯)
- Restful 风格:
http://bbs.csdn.net/topics/390908212
- 非resfull风格:
http://bbs.csdn.net/topics?tid=390908212
请求方式
在HTTP协议中请求方式有7中:GET,HEAD,POST,OUT,DELETE,OPTIONS,TRACE,然而在状态转化中每一个请求方式都会对应一个操作
- GET : 用来获取资源, 对应操作:查询方法
- POST : 用来新建资源, 对应操作:insert 新增保存
- PUT : 用来更新资源, 对应操作:update
- DELETE : 用来删除资源。 对应操作:delete
所以 访问服务器资源,
通过不同的http请求方式,服务器就知道对CRUD的哪个操作!
JAX-RS 发布服务就是使用RESTFUL风格。
总结
综合上面的解释,我们总结一下什么是RESTful架构:
1. 每一个URI代表一种资源;
- 客户端和服务器之间,传递这种资源的某种表现层;
- 客户端通过四个HTTP动词,对服务器端资源进行操作,实现”表现层状态转化”。