REST 形式化地定义为一种架构风格(architecture style),是开发Web应用的一种思想方式,它基本上由元素和约束组成。主要的观点如下:
- 应用中的所有事物都被抽象为资源(resource);
- 每个资源对应一个唯一的资源标识(resource identifier);
- 通过通用的连接器接口(generic connector interface)对资源进行操作;
- 对资源的各种操作不会改变资源标识;
- 所有的操作都是无状态的(stateless)。
通过URL来进行系统功能的分组和设计,我们可以把其作为一套设计web的原则和实践,url代表资源,web系统由各种各样的资源以及资源的行为组成,如果web系统能够做到这一点,就意味着系统就被很好的rest风格。每一个url都代表一个资源,比如/blog/java/article/11,其就表示一个有特定含义的文章。
每一个资源都有一定的action,假定其皆为通用,少数为特定;于是就可以把特定的action映射为通用的方法名称,由此获取一定的通用性。