REST(Representational State Transfer)是一种软件架构风格,它提供了一组架构约束,降低开发的复杂性,提高系统的可伸缩性。
架构约束:
- 客户-服务器:提供服务的服务器和使用服务的客户需要被隔离对待。
- 无状态:服务器不会保存关于客户的任何状态,客户端自身负责用户状态的维持,并在每次发送请求时提供足够的信息。
- 可缓存:REST系统需要能够适当地缓存请求,减少客户端和服务器端之间的信息交流,以提高性能。
- 分层系统:服务器和客户之间通信必须被这样标准化:允许服务器和客户之间的中间层(如代理、网关等)代替服务器对客户的请求进行回应,这些对用户来说不需要特别支持。
- 统一接口:客户和服务器之间通信的方法必须是统一化的。