什么是REST
- REST即表属性状态传递,是在2000年,有美国一位博士提出来的一种软件架构风格。
- REST是一种基于资源的架构风格,在REST中,资源是最基本的概念,每一个资源都具有一个统一的资源标识符(URI,Uniform Resource Identifier)
- REST以资源为中心,因此REST接口的端点(Endpoint)均以资源或资源集合结尾,比如:
GET http://api.domain.com/users/12234
PUT http://api.domain.com/user/1234
REST约束
- REST定义了6个约束,遵循这些约束的Web服务是真正的RESTful服务
- 客户端-服务器(Client-Server)
客户端-服务器约束体现了关注分离点原则,使客户端与服务器个照顾能够单独开发 - 统一接口
统一接口是设计RESTful的基础,统一接口有四个约束- 资源的标识
- 通过表述操作资源
当请求一个资源时,服务器返回一个表述。表示资源的当前状态,由表述正文和元数据组成,格式通常为json,xml,html等 - 自描述信息
- 超媒体作为应用程序状态引擎
- 分层系统
- 缓存
- 无状态
- 服务器不会记录客户端的信息
- 按需编码
- 客户端-服务器(Client-Server)