RESTful 是什么?
来自《Spring 实战》:
REST 组成:表述性、状态、转移。
REST 是将资源的状态以最合适的形式从服务器转移到客户端。
RESTless
RESTless 是面向行为的,而不是面向资源的。比如:
http://host:port/servletContext/showUser.action?id=123
在这个 URL 里,servletContext
是 servlet 上下文路径;showUser.action
是控制器 URL 模式,其中 show
是动词,是一种行为;id=123
是标识符。
RESTful URL
比如:http://host:port/servletContext/users/123
在这个 URL 里,users
是资源类型(名词),123
是特定的 user。
这个 URL 并不做任何事情,只是标识了一个资源,而对这个资源做什么是由 HTTP 请求的方法决定的。
RESTful URL 的一些特性:
- 不仅定位资源,还可以唯一标识这个资源;
- 有层次,从左到右读时,是一个从抽象到具体的过程;
- 对于服务器端应用,路径是参数化的。