先说REST名称
REST – REpresentational State Transfer首先,之所以晦涩是因为前面主语被去掉了,全称是 Resource Representational State Transfer:通俗来讲就是:资源在网络中以某种表现形式进行状态转移。
分解开来:Resource:资源,即数据(前面说过网络的核心)。
比如 newsfeed,friends等;Representational:某种表现形式,比如用JSON,XML,JPEG等;State Transfer:状态变化。
通过HTTP动词实现。
REST的出处Roy Fielding的毕业论文。这哥们参与设计HTTP协议,也是Apache Web Server项目(可惜现在已经是 nginx 的天下)的co-founder。PhD的毕业学校是 UC Irvine,Irvine在加州,有着充裕的阳光和美丽的海滩,是著名的富人区。Oculus VR 的总部就坐落于此(虚拟现实眼镜,被FB收购,CTO为Quake和Doom的作者 John Carmack)。
自我总结的大白话:
传统的接口设计,就是过程式的,每个特定的动作有特定的接口(方式可能是一样的,比如操作都用post)。
后来的RESTful,其实就是把一个个接口当作对象进行处理,
get就是获取该接口对象的内容;
post就是提交该接口对象的内容;
put就是更新该接口对象的内容;
delete就是删除该接口对象的内容;
参考文章:https://www.zhihu.com/question/28557115/answer/48094438