REST(Representational State Transfer)架构是针对Web应用而设计的,其目的是为了降低开发的复杂性,提高系统的可伸缩性。REST提出了如下设计准则:
1、网络上的所有事物都被抽象为资源(resource);
2、每个资源对应一个唯一的资源标识符(resource identifier);
3、通过通用的连接器接口(generic connector interface)对资源进行操作;
4、对资源的各种操作不会改变资源标识符;
5、所有的操作都是无状态的(stateless)
比如,设计一个学生课程成绩管理系统,按照REST设计准则来看:
资源: 如"学生信息" 、 "课程信息"、"成绩信息"等等,都是一个个独立的资源
资源标识符:就是URI(Uniform Resource Identifier),不管是图片,Word还是视频文件,甚至只是一种虚拟的服务,也不管你是xml格式,txt文件格式还是其它文件格式,全部通过 URI对资源进行唯一的标识,如”获取所有学生信息“的url就是唯一的一个资源标识符
资源的各种操作:以往的Web开发大多数用的都是Http协议中的GET和POST方 法,对其他方法很少使用,这实际上是因为对Http协议认识片面的理解造成的。Http不仅仅是一个简单的运载数据的协议,而是一个具有丰富内涵的网络软 件的协议。他不仅仅能对互联网资源进行唯一定位,而且还能告诉我们如何对该资源进行操作。Http把对一个资源的操作限制在4个方法以内:GET, POST,PUT和DELETE,这正是对资源CRUD操作的实现。如对学生信息资源的GET(查询)、POST(修改)、PUT(插入)、DELETE(删除)操作。
所有的操作都是无状态的:无状态是指每个请求都是独立的,每个请求之间没有涉及到状态的保存(排除cookie,session等)
原文:http://www.cnblogs.com/wfjuiceku/p/6250685.html