1. 为所有“事物”定义可�标识的ID.
- 使用URI 标识出所有值得标识的事物.
- 例如一个流程, 流程, 或步骤.
- 可能会导致创建出更多的持久化实体.
2. 将所有事物链接在一起
- 使用链接指引可被标识的事物(资源).
- 例如, 在post 操作的response 中, 使用location 指定新创建资源的地址, 让用户可以接着访问刚创建好的资源.
3. 使用HTTP 标准方法
- 所有资源都支持同样的接口(操作集合).
- �从而有利于客户端与资源相互协作.
4. 资源多重表述
- 客户端如何知道该怎样处理检索到得数据.
- HTTP 允许数据处理和操作调用之间的分离.
- 如果客户端(服务端)知道如何处理一种特定的数据格式,那么就可以与所有提供这种表述格式的资源交互.
- 资源如果提供HTML/XML表述方式,那么可以被所有使用WEB的人获知.
- 针对不同的需求提供资源的多重表述.
5. 无状态通信
- 状态要么放在资源中,要么保存在客户端.
- 除了单次请求之外,服务器端不能保持任何与其通信的客户端的通信状态.
- 保持服务器的可伸缩性.
- 使服务器的变化对客户端不可见.
6. 从资源的角度思考
- 以API 消费者的视角, 将资源命名为有意义的名词.
- 不要在API 上泄漏实现的细节.
- 首先确定资源, 然后再用HTTP 方法来实现功能.