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一贯未曾传输的义,维基百科粤语版的翻全是大错特错的。即使此还无丰裕的说服力,那么,大家看看菲尔德(Field)ing大学生的杂文《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/RMI/EJB/DCOM/.NET Remoting等等
  • 长距离过程调用(Remote Procedure
    Call,简称RPC)架构实例有SOAP/XML-RPC/Hessian/Flash AMF/DWR等等

时间线

  1. 1991年,发布http0.9
  2. REST的第一版本开发被 1994 年 10 月和 1995 年 8 月以内
  3. 1996年,发布http1.0
  4. 2000年,颁布http1.1,发布杂文《Architectural Styles and
    the Design of Network-based Software Architectures》
  5. 2014年,发布http2.0

发表评论

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