rest是一种软件架构风格。
rest从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。获得这些表征致使这些应用程序转变了其状态。随着不断获取资源的表征,客户端应用不断地在转变着其状态,所谓表征状态转移。
如果一个架构符合restful原则,就称它为restful架构。
特定:
- rest是设计风格而不是标准。rest通常基于使用http,uri,和xml以及html这些现有的广泛流行的协议和标准。
- 资源是由URI来指定。
- 对资源的操作包括获取,创建,修改和删除资源。
- 通过操作资源的表现形式来操作资源。
优点:
- 可以利用缓存cache来提高响应速度。
- 通讯本身的无状态性可以让不同的服务器的处理一系列请求中的不同请求,提高服务器的扩展性。
- 浏览器即可作为客户端,简化软件需求。
- 相对于其他叠加在HTTP协议之上的机制,rest的软件依赖性更小。
- 不需要额外的资源发现机制。
- 在软件技术演进中的长期的兼容性更好。