REST(Representational State Transfer)概念的来源是 Roy Thomas Fielding 的论文
http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
如果不是很好读懂,可以理解为,REST是一种软件架构风格,不是标准。简单来说具有以下特点
- 资源是由URI来指定。
- 对资源的 增/删/改/查,分别用HTTP的Method POST/DELETE/PUT/GET 对应;
- 通过URI操作资源,改变资源状态。
在网站中使用,通常用来作为web service。优点是可以减少网络传输。
假设一个电影库的网站http://www.domainname.com,REST 的 URI 设计为:
电影列表页http://www.domainname.com/movies
某部电影页http://www.domainname.com/movie/123
对http://www.domainname.com/movies GET 可获取列表
对http://www.domainname.com/movie/123 DELETE 可删除电影
URI设计方面,可以学习douban.com
可以设想REST设计会有这么一个类
class Movie {
Resource(URI u);
Response get();
Response post(Request r);
Response put(Request r);
Response delete();
}