正文
REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中, Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:”我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计, 得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。” 如果一个架构符合REST的约束条件和原则, 我们就称它为RESTful架构。
REST本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准中的一些准则和约束。虽然REST本身受Web技术的影响很深, 但是理论上REST架构风格并不是绑定在HTTP上, 只不过目前HTTP是唯一与REST相关的实例。 所以我们这里描述的REST也是通过HTTP实现的REST。
其他架构思想
RPC 。 首先了解什么叫RPC(Remote Procedure Call),为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上, 想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。
SOAP。 SOAP(Simple Object Access Protocol) 简单对象访问协议是交换数据的一种协议规范, 是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
参考资料
RESTful 架构详解 https://www.runoob.com/w3cnote/restful-architecture.html
Architectural Styles and the Design of Network-based Software Architectures https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
理解RESTful架构 http://www.ruanyifeng.com/blog/2011/09/restful.html
RESTful API 设计指南 http://www.ruanyifeng.com/blog/2014/05/restful_api.html
深入理解 RESTful Api 架构 https://mengkang.net/620.html
一文带你看懂什么是RESTful API https://zhuanlan.zhihu.com/p/97978097
WEB开发中,使用JSON-RPC好,还是RESTful API好? https://www.zhihu.com/question/28570307