Restful的多少个精神

一切阅读都是误读。

引进阅读《Architectural Styles and
the Design of Network-based Software
Architectures》,固然您早就读过那篇作品,下边包车型地铁始末就无须看啦。

Http的缩写

作者们先看看维基百科上的诠释

我们再看一下单词Transfer的普通话翻译

transfer
英 [trænsˈfɜ:(r)]  美 [trænsˈfɚ] 
vt.
使转移;使调动;转让(权利等);让与
vi.
转让;转学;转乘;转会(尤指职业足球队)
n.
转移;调动;换乘;(运动员)转会

很不难察觉,单词Transfer一生未曾传输的意思,维基百科普通话版的翻译完全是不当的。如若那么些还从未充分的说服力,那么,我们看看Fielding大学生的舆论《Architectural
Styles and
the Design of Network-based Software
Architectures》,小说中特意提到,“HTTP
不是一种传输协议”。点击这里查看原版的书文,
下边是章节节选

6.5.3 HTTP is not a Transport Protocol

HTTP is not designed to be a transport protocol. It is a transfer protocol in which the messages reflect the semantics of the Web architecture by performing actions on resources through the transfer and manipulation of representations of those resources. It is possible to achieve a wide range of functionality using this very simple interface, but following the interface is required in order for HTTP semantics to remain visible to intermediaries.

当成不幸, HTTP切磋刚刚传入笔者国时, 即被翻译为“超文本传输协议”,
鲜明是一无所能的,之后以讹传讹就愈加贻害无穷, 那里应该翻译为超文本转移协议,
和状态机的图景转移应该是同三个意义

先有Http,后有Restful?

想要知道Restful是怎么着东东,最佳的方法是摸底一下它的前行历史。从Ruby on
Rails的上扬历程足以窥见部分踪影。

Ruby on Rails 1.1: ActionWebService

在笔者看来,Fielding这篇博士论文在Web发展史上的价值,不亚于Web之父Tim Berners-Lee关于超文本的那篇经典论文。然而遗憾的是,这篇博士论文在诞生之后的将近5年时间里,一直没有得到足够的重视。例如Web Service相关规范SOAP/WSDL的设计者们,显然不大理解REST是什么,HTTP/1.1究竟是一个什么样的协议、为何要设计成这个样子。

摘自 http://www.infoq.com/cn/articles/understanding-restful-style/

Ruby on Rails 1.2: ActionResource

直到2005年,随着Ajax、Rails等Web开发技术的兴起,在Web开发技术社区掀起了一场重归Web架构设计本源的运动,REST架构风格得到了越来越多的关注。在2007年1月,支持REST开发的Ruby on Rails 1.2版正式发布,并且将支持REST开发作为Rails未来发展中的优先内容。Ruby on Rails的创始人DHH做了一个名为“World of Resources”的精彩演讲,DHH在Web开发技术社区中的强大影响力,使得REST一下子处在Web开发技术舞台的聚光灯之下。

摘自 https://blackanger.gitbooks.io/tao-of-chef/content/chapter_5_rails/restful.html

Ruby on Rails 现状

稍早的版本的Rails中提供了ActionWebService作为开发XML-RPC和SOAP的web服务的基础。但是最近的Rails 1.2更加倾向于是用REST方式的web服务,而ActionWebService在Rails 2.0中作为plugin而不再是rails核心的一部分。

多数人回忆中,都觉着restful只是http协议的一种采纳风格,原因恐怕是大家先接触到的http,而后才通晓到restful。很显眼,那是谬误的定义,实际上,正式由于有rest架构的方法论辅导着http协议正式的制定和进化,Web才有了今天伟大的到位

Restful不是整整

与REST框架结构风格并行的还有二种架构风格

  • 分布式对象(Distributed
    Objects,简称DO)架构实例有CORBA/LX570MI/EJB/DCOM/.NET Remoting等等
  • 远程进程调用(Remote Procedure
    Call,简称纳瓦拉PC)架构实例有SOAP/XML-奇骏PC/Hessian/Flash AMF/DWRAV4等等

时间线

  1. 1991年,发布http0.9
  2. REST的率先版开发于 1995 年 10 月和 一九九四 年 8 月里面
  3. 发展历史,1996年,发布http1.0
  4. 两千年,公布http1.1,发布杂文《Architectural Styles and
    the Design of Network-based Software Architectures》
  5. 2014年,发布http2.0

发表评论

电子邮件地址不会被公开。 必填项已用*标注