我想了解一下什么是REST?以及它在网站中的运用~有人能解答一下么?
REST并不仅仅只是针对HTTP协议,其他对资源操作的协议也可以使用RESTful的风格对外提供服务。
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(); }