REpresentational State Transfer
表现层状态转化
概括:用URL定位资源,用HTTP动词描述操作。
全称是 Resource Representational State Transfer:资源在网络中以某种表现形式进行状态转移。
Resource:资源,即数据,URL可以定位唯一资源。
Representational:表现层,资源表现出来的形式,比如JSON、XML、HTML等。
State Transfer:状态变化。通过HTTP动词GET、POST、PUT、DELETE实现状态转化,通过HTTP Status Code传递状态信息。
【客户端服务器分离】
客户端与服务器分开开发,通过一套api交互。
【无状态】
客户端的每个请求包含服务器需要的所有信息。互联网通信协议HTTP协议,是一个无状态协议。这意味着,所有的状态都保存在服务器端。
【缓存】
服务器返回的信息要标记是否可以被缓存。
【分层系统】
系统组件不需要知道与他交流组件之外的事情。封装服务,引入中间层。
【接口统一】
Web,ios,Android和第三方开发者变为平等的角色通过一套API来共同消费Server提供的服务。
以前网页是前端后端融在一起的,比如之前的PHP,JSP等。随着移动互联网的发展,各种类型的Client层出不穷,RESTful可以通过一套统一的接口为 Web,iOS和Android提供服务。