Roy T. Fielding的2000年在他的博士论文中提出REpresentational State Transfer这一软件架构风格,相比“表述性状态转移”等等类似的拗口的中文翻译,其简写REST更耳熟能详。Roy T. Fielding何许人也?那要说起来可是三天三夜都说不完。总之呀,这大爷(1965年生的)是个scientist(-ist结尾的都表示很牛逼,-or结尾的次之,-er结尾的最次)。
言归正传。既然REST是一种架构风格,那么他就应该是这样的:①这个架构风格包含了一系列的规范和原则。也就是说这些规范和原则就是REST,而同时不满足其中的任何一条,那么就不是REST;②作为一种架构风格,那么这种架构风格的实现就不应该受到具体的技术所约束。REST之所以会产生,是为了满足分布式系统(广义上的)的需求(比如什么高扩展性呀、什么可分布性呀等等啦,Fielding的论文里好像说的是visibility、reliability、scalability),那么这样一来可想而知REST适用于同一个系统之内不同主机之间的架构设计。在任何一种情况下,不同主机之间的交互都可以分为服务端和客户端。REST的核心是资源和状态。
-----改日继续写-----