- 浏览: 672572 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
zhouyicang:
为嘛人气不够,这么好的文章,我找了几十篇博客,才找到这篇解惑了 ...
HTML 块级元素/内联元素 -
young7:
不错,解惑了
HTML 块级元素/内联元素 -
lvjin948:
获取浏览器语言的完美方案。http://blog.csdn.n ...
JavaScript获取浏览器语言类型 -
tarena_hhh:
我用了css优化工具,发现他的顺序有很大不一样?????
CSS属性书写顺序及命名规则 -
deng131:
谢谢你的提醒,是有个地方写错了
javascript事件绑定addEventListener,attachEvent
REST架构风格是全新的针对Web应用的开发风格,是当今世界最成功的互联网超媒体分布式系统架构,它使得人们真正理解了Http协议本来面貌。随着 REST架构成为主流技术,一种全新的互联网网络应用开发的思维方式开始流行。
! _) i5 P! T1 r2 I3 d% _( W! w7 m0 e
REST是什么
1 `8 h% H5 D5 {# J$ d/ k3 Y1 `8 [( @) y$ f5 ~
REST是英文Representational State Transfer的缩写,中文翻译为“表述性状态转移”,他是由Roy Thomas Fielding博士在他的论文 《Architectural Styles and the Design of Network-based Software Architectures》中提出的一个术语。REST本身只是为分布式超媒体系统设计的一种架构风格,而不是标准。 / H3 Z8 T; Y- H) a; J/ t1 }5 R
) R9 h" @( d# O; C3 }2 j 基于Web的架构,实际上就是各种规范的集合,这些规范共同组成了Web架构。比如Http协议,比如客户端服务器模式,这些都是规范。每当我们在原有规 范的基础上增加新的规范,就会形成新的架构。而REST正是这样一种架构,他结合了一系列的规范,而形成了一种新的基于Web的架构风格。
6 g% H. ]' z! l5 {6 m+ _) O! z ?. K
0 s5 Z! y. m; M) |' D3 Z 传统的Web应用大都是B/S架构,它包括了如下一些规范 。
+ K( _& r! c& b( L$ T u# U1 c: k! U
客户-服务器
; L- O8 M! v! Q5 X8 ]2 f# u$ ~3 V- u9 g( \* o
这种规范的提出,改善了用户接口跨多个平台的可移植性,并且通过简化服务器组件,改善了系统的可伸缩性。最为关键的是通过分离用户接口和数据存储这两个关注点,使得不同用户终端享受相同数据成为了可能。
& x. O2 O: l+ R k. L3 u" v 无状态性 j3 X. ], r5 J/ X+ P2 S. z Z% K
; k4 q5 h* p. K( O' c" H
无 状态性是在客户-服务器约束的基础上添加的又一层规范。他要求通信必须在本质上是无状态的,即从客户到服务器的每个request都必须包含理解该 request所必须的所有信息。这个规范改善了系统的可见性(无状态性使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当前 request,而不必了解所有的request历史),可靠性(无状态性减少了服务器从局部错误中恢复的任务量),可伸缩性(无状态性使得服务器端可以 很容易的释放资源,因为服务器端不必在多个request中保存状态)。同时,这种规范的缺点也是显而易见得,由于不能将状态数据保存在服务器上的共享上 下文中,因此增加了在一系列request中发送重复数据的开销,严重的降低了效率。 ; q( S. y% o4 N8 S
缓存 6 _' z1 u% s6 g5 M. _- ~
( @) y j! l# Y1 z- a
为 了改善无状态性带来的网络的低效性,我们填加了缓存约束。缓存约束允许隐式或显式地标记一个response中的数据,这样就赋予了客户端缓存 response数据的功能,这样就可以为以后的request共用缓存的数据,部分或全部的消除一部分交互,增加了网络的效率。但是用于客户端缓存了信 息,也就同时增加了客户端与服务器数据不一致的可能,从而降低了可靠性。
c% k9 F5 m3 M B/S架构的优点是其部署非常方便,但在用户体验方面却不是很理想。为了改善这种情况,我们引入了REST。 ! {# D: I+ K$ S* ^
6 i% U B) \1 ]( [4 L REST在原有的架构上增加了三个新规范:统一接口,分层系统和按需代码。 6 A! H- E! W0 b1 L/ \' c
3 |- U% v. ]; R; B8 ]3 z
统一接口 0 M+ k& a: @, M( m. }- }
3 ^7 U1 E3 k6 u! Y# [REST 架构风格的核心特征就是强调组件之间有一个统一的接口,这表现在REST世界里,网络上所有的事物都被抽象为资源,而REST就是通过通用的链接器接口对 资源进行操作。这样设计的好处是保证系统提供的服务都是解耦的,极大的简化了系统,从而改善了系统的交互性和可重用性。并且REST针对Web的常见情况 做了优化,使得REST接口被设计为可以高效的转移大粒度的超媒体数据,这也就导致了REST接口对其它的架构并不是最优的。 7 x$ X% F! a& ~0 W2 M
分层系统
( ~ p: U" ^; x! v" K' D9 T) @7 P* q/ E/ P
分层系统规则的加入提高了各种层次之间的独立性,为整个系统的复杂性设置了边界,通过封装遗留的服务,使新的服务器免受遗留客户端的影响,这也就提高了系统的可伸缩性。 : ~9 k- L, \# T2 T0 d3 r
按需代码 2 s8 _, A* c+ c' L! l$ {) k, e
7 ?9 `, w$ T: ^2 {' _
REST允许对客户端功能进行扩展。比如,通过下载并执行applet或脚本形式的代码,来扩展客户端功能。但这在改善系统可扩展性的同时,也降低了可见性。所以它只是REST的一个可选的约束。
4 A5 L9 W; y6 u$ }
5 J2 x) X2 A' q. z/ ~, x REST的设计准则
" W: O. p7 }6 K3 _% b) P
& I1 A- {% I1 L% X2 I/ ` REST架构是针对Web应用而设计的,其目的是为了降低开发的复杂性,提高系统的可伸缩性。REST提出了如下设计准则: + p+ m) l' K$ x3 c+ n9 Z
! R0 E4 B" h4 H/ `& E4 x; h
网络上的所有事物都被抽象为资源(resource);
/ r1 [6 S& k1 D' [每个资源对应一个唯一的资源标识符(resource identifier);
( ?: q! x. |( s8 [) J% m3 R" P通过通用的连接器接口(generic connector interface)对资源进行操作; 4 K& a3 w) F- l/ O7 }
对资源的各种操作不会改变资源标识符; ' A- P* h) n8 h. n- Z
所有的操作都是无状态的(stateless)。 ' ~. h4 }2 T( r$ y7 w3 e
REST中的资源所指的不是数据,而是数据和表现形式的组合,比如“最新访问的10位会员”和“最活跃的10为会员”在数据上可能有重叠或者完全相同,而 由于他们的表现形式不同,所以被归为不同的资源,这也就是为什么REST的全名是Representational State Transfer的原因。资源标识符就是URI(Uniform Resource Identifier),不管是图片,Word还是视频文件,甚至只是一种虚拟的服务,也不管你是xml格式,txt文件格式还是其它文件格式,全部通过 URI对资源进行唯一的标识。 1 ]8 S8 F8 }9 P+ m; l3 x5 t" n! Y$ `
, G* I0 M6 f) B8 v2 N
REST是基于Http协议的,任何对资源的操作行为都是通过Http协议来实现。以往的Web开发大多数用的都是Http协议中的GET和 POST方 法,对其他方法很少使用,这实际上是因为对Http协议认识片面的理解造成的。Http不仅仅是一个简单的运载数据的协议,而是一个具有丰富内涵的网络软 件的协议。他不仅仅能对互联网资源进行唯一定位,而且还能告诉我们如何对该资源进行操作。Http把对一个资源的操作限制在4个方法以内:GET, POST,PUT和DELETE,这正是对资源CRUD操作的实现。由于资源和URI是一一对应的,执行这些操作的时候URI是没有变化的,这和以往的 Web开发有很大的区别。正由于这一点,极大的简化了Web开发,也使得URI可以被设计成更为直观的反映资源的结构,这种URI的设计被称作 RESTful的URI。这位开发人员引入了一种新的思维方式:通过URL来设计系统结构。当然了,这种设计方式对一些特定情况也是不适用的,也就是说不 是所有的URI都可以RESTful的。 / ~ e6 V, ]3 U% @4 c1 f/ [# P
0 s# F, B# O5 l, n
REST 之所以可以提高系统的可伸缩性,就是因为它要求所有的操作都是无状态的。由于没有了上下文(Context)的约束,做分布式和集群的时候就更为简单,也 可以让系统更为有效的利用缓冲池(Pool)。并且由于服务器端不需要记录客户端的一系列访问,也减少了服务器端的性能。 # d9 p1 v8 j, C* A7 I2 Q4 K+ d
4 o1 c! Y ?+ h6 q$ r) N& T
( Z* j) o3 ^- h2 M: p2 B
$ m9 C1 b( Z, R" ~1 x! P' q6 b7 F# G 使用REST架构 . C, p* m1 l+ L( p& ^4 U
. q: D( S. o$ T. k- W# P, U- q 对于开发人员来 说,关心的是如何使用REST架构,这里我们来简单谈谈这个问题。REST不仅仅是一种崭新的架构,它带来的更是一种全新的Web开发过程中的思维方式: 通过URL来设计系统结构。在REST中,所有的URL都对应着资源,只要URL的设计是良好的,那么其呈现的系统结构也就是良好的。这点和TDD (Test Driven Development)很相似,他是通过测试用例来设计系统的接口,每一个测试用例都表示一系列用户的需求。开发人员不需要一开始就编写功能,而只需要 把需要实现的功能通过测试用例的形式表现出来即可。这个和REST中通过URL设计系统结构的方式类似,我们只需要根据需求设计出合理地URL,这些 URL不一定非要链接到指定的页面或者完成一些行为,只要它们能够直观的表现出系统的用户接口。根据这些URL,我们就可以方便的设计系统结构。从 REST架构的概念上来看,所有能够被抽象成资源的东西都可以被指定为一个URL,而开发人员所需要做的工作就是如何能把用户需求抽象为资源,以及如何抽 象的精确。因为对资源抽象的越为精确,对REST的应用来说就越好。这个和传统MVC开发模式中基于Action的思想差别就非常大。设计良好的URL, 不但对于开发人员来说可以更明确的认识系统结构,对使用者来说也方便记忆和识别资源,因为URL足够简单和有意义。按照以往的设计模式,很多URL后面都 是一堆参数,对于使用者来说也是很不方便的。
6 F% g4 Y- q: @2 [( o+ M9 `
" Q8 Q5 V/ e' T5 M" X, O. y 既然REST这 么好用,那么是不是所有的Web应用都能采取此种架构呢?答案是否定的。我们知道,直到现在为止,MVC(Model-View-Controller) 模式依然是Web开发最普遍的模式,绝大多数的公司和开发人员都采取此种架构来开发Web应用,并且其思维方式也停留于此。MVC模式由数据,视图和控制 器构成,通过事件(Event)触发Controller来改变Model和View。加上Webwork,Struts等开源框架的加入,MVC开发模 式已经相当成熟,其思想根本就是基于Action来驱动。从开发人员角度上来说,贸然接受一个新的架构会带来风险,其中的不确定因素太多。并且REST新 的思维方式是把所有用户需求抽象为资源,这在实际开发中是比较难做到的,因为并不是所有的用户需求都能被抽象为资源,这样也就是说不是整个系统的结构都能 通过REST的来表现。所以在开发中,我们需要根据以上2点来在REST和MVC中做出选择。我们认为比较好的办法是混用REST和MVC,因为这适合绝 大多数的Web应用开发,开发人员只需要对比较容易能够抽象为资源的用户需求采取REST的开发模式,而对其它需求采取MVC开发即可。这里需要提到的就 是ROR(Ruby on Rails)框架,这是一个基于Ruby语言的越来越流行的Web开发框架,它极大的提高了Web开发的速度。更为重要的是,ROR(从1.2版本起)框 架是第一个引入REST做为核心思想的Web开发框架,它提供了对REST最好的支持,也是当今最成功的应用REST的Web开发框架。实际上,ROR的 REST实现就是REST和MVC混用,开发人员采用ROR框架,可以更快更好的构建Web应用。 . ]5 u; Z1 \" r0 y1 F
, g. g# y" ?$ f/ D' O8 c! T
J( _0 b, H# r% v, t 对开发人员来说,REST不仅仅在Web开发上贡献了自己的力量,同时也让我们学到了如何把软件工程原则系统地应用于对一个真实软件的设计和评估上。
! _) i5 P! T1 r2 I3 d% _( W! w7 m0 e
REST是什么
1 `8 h% H5 D5 {# J$ d/ k3 Y1 `8 [( @) y$ f5 ~
REST是英文Representational State Transfer的缩写,中文翻译为“表述性状态转移”,他是由Roy Thomas Fielding博士在他的论文 《Architectural Styles and the Design of Network-based Software Architectures》中提出的一个术语。REST本身只是为分布式超媒体系统设计的一种架构风格,而不是标准。 / H3 Z8 T; Y- H) a; J/ t1 }5 R
) R9 h" @( d# O; C3 }2 j 基于Web的架构,实际上就是各种规范的集合,这些规范共同组成了Web架构。比如Http协议,比如客户端服务器模式,这些都是规范。每当我们在原有规 范的基础上增加新的规范,就会形成新的架构。而REST正是这样一种架构,他结合了一系列的规范,而形成了一种新的基于Web的架构风格。
6 g% H. ]' z! l5 {6 m+ _) O! z ?. K
0 s5 Z! y. m; M) |' D3 Z 传统的Web应用大都是B/S架构,它包括了如下一些规范 。
+ K( _& r! c& b( L$ T u# U1 c: k! U
客户-服务器
; L- O8 M! v! Q5 X8 ]2 f# u$ ~3 V- u9 g( \* o
这种规范的提出,改善了用户接口跨多个平台的可移植性,并且通过简化服务器组件,改善了系统的可伸缩性。最为关键的是通过分离用户接口和数据存储这两个关注点,使得不同用户终端享受相同数据成为了可能。
& x. O2 O: l+ R k. L3 u" v 无状态性 j3 X. ], r5 J/ X+ P2 S. z Z% K
; k4 q5 h* p. K( O' c" H
无 状态性是在客户-服务器约束的基础上添加的又一层规范。他要求通信必须在本质上是无状态的,即从客户到服务器的每个request都必须包含理解该 request所必须的所有信息。这个规范改善了系统的可见性(无状态性使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当前 request,而不必了解所有的request历史),可靠性(无状态性减少了服务器从局部错误中恢复的任务量),可伸缩性(无状态性使得服务器端可以 很容易的释放资源,因为服务器端不必在多个request中保存状态)。同时,这种规范的缺点也是显而易见得,由于不能将状态数据保存在服务器上的共享上 下文中,因此增加了在一系列request中发送重复数据的开销,严重的降低了效率。 ; q( S. y% o4 N8 S
缓存 6 _' z1 u% s6 g5 M. _- ~
( @) y j! l# Y1 z- a
为 了改善无状态性带来的网络的低效性,我们填加了缓存约束。缓存约束允许隐式或显式地标记一个response中的数据,这样就赋予了客户端缓存 response数据的功能,这样就可以为以后的request共用缓存的数据,部分或全部的消除一部分交互,增加了网络的效率。但是用于客户端缓存了信 息,也就同时增加了客户端与服务器数据不一致的可能,从而降低了可靠性。
c% k9 F5 m3 M B/S架构的优点是其部署非常方便,但在用户体验方面却不是很理想。为了改善这种情况,我们引入了REST。 ! {# D: I+ K$ S* ^
6 i% U B) \1 ]( [4 L REST在原有的架构上增加了三个新规范:统一接口,分层系统和按需代码。 6 A! H- E! W0 b1 L/ \' c
3 |- U% v. ]; R; B8 ]3 z
统一接口 0 M+ k& a: @, M( m. }- }
3 ^7 U1 E3 k6 u! Y# [REST 架构风格的核心特征就是强调组件之间有一个统一的接口,这表现在REST世界里,网络上所有的事物都被抽象为资源,而REST就是通过通用的链接器接口对 资源进行操作。这样设计的好处是保证系统提供的服务都是解耦的,极大的简化了系统,从而改善了系统的交互性和可重用性。并且REST针对Web的常见情况 做了优化,使得REST接口被设计为可以高效的转移大粒度的超媒体数据,这也就导致了REST接口对其它的架构并不是最优的。 7 x$ X% F! a& ~0 W2 M
分层系统
( ~ p: U" ^; x! v" K' D9 T) @7 P* q/ E/ P
分层系统规则的加入提高了各种层次之间的独立性,为整个系统的复杂性设置了边界,通过封装遗留的服务,使新的服务器免受遗留客户端的影响,这也就提高了系统的可伸缩性。 : ~9 k- L, \# T2 T0 d3 r
按需代码 2 s8 _, A* c+ c' L! l$ {) k, e
7 ?9 `, w$ T: ^2 {' _
REST允许对客户端功能进行扩展。比如,通过下载并执行applet或脚本形式的代码,来扩展客户端功能。但这在改善系统可扩展性的同时,也降低了可见性。所以它只是REST的一个可选的约束。
4 A5 L9 W; y6 u$ }
5 J2 x) X2 A' q. z/ ~, x REST的设计准则
" W: O. p7 }6 K3 _% b) P
& I1 A- {% I1 L% X2 I/ ` REST架构是针对Web应用而设计的,其目的是为了降低开发的复杂性,提高系统的可伸缩性。REST提出了如下设计准则: + p+ m) l' K$ x3 c+ n9 Z
! R0 E4 B" h4 H/ `& E4 x; h
网络上的所有事物都被抽象为资源(resource);
/ r1 [6 S& k1 D' [每个资源对应一个唯一的资源标识符(resource identifier);
( ?: q! x. |( s8 [) J% m3 R" P通过通用的连接器接口(generic connector interface)对资源进行操作; 4 K& a3 w) F- l/ O7 }
对资源的各种操作不会改变资源标识符; ' A- P* h) n8 h. n- Z
所有的操作都是无状态的(stateless)。 ' ~. h4 }2 T( r$ y7 w3 e
REST中的资源所指的不是数据,而是数据和表现形式的组合,比如“最新访问的10位会员”和“最活跃的10为会员”在数据上可能有重叠或者完全相同,而 由于他们的表现形式不同,所以被归为不同的资源,这也就是为什么REST的全名是Representational State Transfer的原因。资源标识符就是URI(Uniform Resource Identifier),不管是图片,Word还是视频文件,甚至只是一种虚拟的服务,也不管你是xml格式,txt文件格式还是其它文件格式,全部通过 URI对资源进行唯一的标识。 1 ]8 S8 F8 }9 P+ m; l3 x5 t" n! Y$ `
, G* I0 M6 f) B8 v2 N
REST是基于Http协议的,任何对资源的操作行为都是通过Http协议来实现。以往的Web开发大多数用的都是Http协议中的GET和 POST方 法,对其他方法很少使用,这实际上是因为对Http协议认识片面的理解造成的。Http不仅仅是一个简单的运载数据的协议,而是一个具有丰富内涵的网络软 件的协议。他不仅仅能对互联网资源进行唯一定位,而且还能告诉我们如何对该资源进行操作。Http把对一个资源的操作限制在4个方法以内:GET, POST,PUT和DELETE,这正是对资源CRUD操作的实现。由于资源和URI是一一对应的,执行这些操作的时候URI是没有变化的,这和以往的 Web开发有很大的区别。正由于这一点,极大的简化了Web开发,也使得URI可以被设计成更为直观的反映资源的结构,这种URI的设计被称作 RESTful的URI。这位开发人员引入了一种新的思维方式:通过URL来设计系统结构。当然了,这种设计方式对一些特定情况也是不适用的,也就是说不 是所有的URI都可以RESTful的。 / ~ e6 V, ]3 U% @4 c1 f/ [# P
0 s# F, B# O5 l, n
REST 之所以可以提高系统的可伸缩性,就是因为它要求所有的操作都是无状态的。由于没有了上下文(Context)的约束,做分布式和集群的时候就更为简单,也 可以让系统更为有效的利用缓冲池(Pool)。并且由于服务器端不需要记录客户端的一系列访问,也减少了服务器端的性能。 # d9 p1 v8 j, C* A7 I2 Q4 K+ d
4 o1 c! Y ?+ h6 q$ r) N& T
( Z* j) o3 ^- h2 M: p2 B
$ m9 C1 b( Z, R" ~1 x! P' q6 b7 F# G 使用REST架构 . C, p* m1 l+ L( p& ^4 U
. q: D( S. o$ T. k- W# P, U- q 对于开发人员来 说,关心的是如何使用REST架构,这里我们来简单谈谈这个问题。REST不仅仅是一种崭新的架构,它带来的更是一种全新的Web开发过程中的思维方式: 通过URL来设计系统结构。在REST中,所有的URL都对应着资源,只要URL的设计是良好的,那么其呈现的系统结构也就是良好的。这点和TDD (Test Driven Development)很相似,他是通过测试用例来设计系统的接口,每一个测试用例都表示一系列用户的需求。开发人员不需要一开始就编写功能,而只需要 把需要实现的功能通过测试用例的形式表现出来即可。这个和REST中通过URL设计系统结构的方式类似,我们只需要根据需求设计出合理地URL,这些 URL不一定非要链接到指定的页面或者完成一些行为,只要它们能够直观的表现出系统的用户接口。根据这些URL,我们就可以方便的设计系统结构。从 REST架构的概念上来看,所有能够被抽象成资源的东西都可以被指定为一个URL,而开发人员所需要做的工作就是如何能把用户需求抽象为资源,以及如何抽 象的精确。因为对资源抽象的越为精确,对REST的应用来说就越好。这个和传统MVC开发模式中基于Action的思想差别就非常大。设计良好的URL, 不但对于开发人员来说可以更明确的认识系统结构,对使用者来说也方便记忆和识别资源,因为URL足够简单和有意义。按照以往的设计模式,很多URL后面都 是一堆参数,对于使用者来说也是很不方便的。
6 F% g4 Y- q: @2 [( o+ M9 `
" Q8 Q5 V/ e' T5 M" X, O. y 既然REST这 么好用,那么是不是所有的Web应用都能采取此种架构呢?答案是否定的。我们知道,直到现在为止,MVC(Model-View-Controller) 模式依然是Web开发最普遍的模式,绝大多数的公司和开发人员都采取此种架构来开发Web应用,并且其思维方式也停留于此。MVC模式由数据,视图和控制 器构成,通过事件(Event)触发Controller来改变Model和View。加上Webwork,Struts等开源框架的加入,MVC开发模 式已经相当成熟,其思想根本就是基于Action来驱动。从开发人员角度上来说,贸然接受一个新的架构会带来风险,其中的不确定因素太多。并且REST新 的思维方式是把所有用户需求抽象为资源,这在实际开发中是比较难做到的,因为并不是所有的用户需求都能被抽象为资源,这样也就是说不是整个系统的结构都能 通过REST的来表现。所以在开发中,我们需要根据以上2点来在REST和MVC中做出选择。我们认为比较好的办法是混用REST和MVC,因为这适合绝 大多数的Web应用开发,开发人员只需要对比较容易能够抽象为资源的用户需求采取REST的开发模式,而对其它需求采取MVC开发即可。这里需要提到的就 是ROR(Ruby on Rails)框架,这是一个基于Ruby语言的越来越流行的Web开发框架,它极大的提高了Web开发的速度。更为重要的是,ROR(从1.2版本起)框 架是第一个引入REST做为核心思想的Web开发框架,它提供了对REST最好的支持,也是当今最成功的应用REST的Web开发框架。实际上,ROR的 REST实现就是REST和MVC混用,开发人员采用ROR框架,可以更快更好的构建Web应用。 . ]5 u; Z1 \" r0 y1 F
, g. g# y" ?$ f/ D' O8 c! T
J( _0 b, H# r% v, t 对开发人员来说,REST不仅仅在Web开发上贡献了自己的力量,同时也让我们学到了如何把软件工程原则系统地应用于对一个真实软件的设计和评估上。
发表评论
-
惯例优于配置原则
2010-07-21 10:42 1797惯例优于配置(Convention over Configur ... -
Ruby中AOP实现方法
2010-07-19 15:48 1111转自:http://blackanger.blog.51cto ... -
ruby中星号(*)作用
2010-07-19 11:50 11141,有正常的乘法功能 2*2 1*1 2,数组*intege ... -
字符,整数,字符串转换 pack,unpack
2010-07-19 11:45 1465字符串和整数的转换: ?a #显示a的ascii值 ... -
RPC与REST区别
2010-07-15 14:26 3475转自:http://georid.spaces.l ... -
Ruby 常用内部变量
2010-06-11 17:01 1141局部域:在某一个线程作用域内才能有效,下列也可看做是线程内的局 ... -
RFC、RPC区别及解释
2010-06-09 09:07 2817RFC是request for comment的缩写,是由IE ... -
Comet 技术两种实现
2010-06-08 23:55 5486转自 http://ququzone.blogbus. ... -
Web服务器和Applicaion服务器
2010-06-08 18:41 1203Web服务器传送(serves)页 ... -
Mongrel Application服务器
2010-06-08 18:36 989Mongrel是一种快速的针对Ruby的Http 服务器,专门 ... -
Nginx web服务器
2010-06-08 18:31 1108Nginx ("engine x") 是一 ... -
Ruby on Rails中YAML
2010-06-07 21:29 1986YAML YAML Ain't Markup Languag ... -
Ruby on Rails使用Haml
2009-12-10 18:56 163Haml是一种用来描述任何XHTML web document ... -
Rails render partial collection
2009-11-02 11:52 67ruby 1.8.7 + rails 2.1.0 Rails ... -
Rails Liquid邮件模板
2009-08-20 13:14 184允许用户自定义邮件模板样式 http://cjohansen. ... -
Rails类实列变量
2009-07-14 22:21 40D:\project\trunk\trunk>irb i ... -
Rails产品环境下Migration维护表
2009-07-13 17:01 48随着公司产品的上线,产品环境下就要求数据库表不能在重新执行ra ... -
FastCSV数据导出到csv文件
2009-06-03 13:17 267具体使用看Readme,下面介绍FastCSV在导出网站数据中 ... -
Rails开发系统添加WAP支持
2009-04-19 00:24 224Rails在WEB开发中独树一帜,取得相当大的成功,但是其内核 ... -
Rails迁移数据增加MYSQL函数Function
2009-04-10 13:15 78class CreateFunctions < Acti ...
相关推荐
**REST(Representational State Transfer,表述性状态转移)**是一种软件架构风格,广泛应用于Web服务的设计,特别是互联网应用程序。REST风格的架构强调简洁、高效和可扩展性,它基于HTTP协议,利用其固有的方法...
但是近年来移动互联网的发展,各种类型的Client层出不穷,RESTful可以通过一套统一的接口为 Web,iOS和Android提供服务。 另外对于广大平台来说,比如Facebook platform,微博开放平台,微信公共平台等,它们不需要...
在深入探讨“基于REST架构风格的Web+20实现”这一主题之前,需要先了解REST(Representational State Transfer)架构风格的基本概念以及Web 2.0的相关技术背景。 REST是一种软件架构风格,最初由Roy Fielding在他的...
首先,标题《架构风格与基于网络的软件架构设计(REST)》点明了文档的主题是关于软件架构风格,尤其是与网络相关的软件设计,并重点介绍了REST架构风格。REST是一种软件架构风格,它由Roy Thomas Fielding博士在其...
web之父的博士论文,Restful API的最佳描述。这篇论文定义了一个框架,...然后我介绍了表述性状态转移(Representational State Transfer,REST)的架构风格,并且描述了如何使用REST来指导现代Web架构的设计和开发。
REST(Representational State Transfer,表现层状态转移)是一种用于构建Web服务的架构风格,它强调通过简单的HTTP方法(GET、POST、PUT、DELETE)来操作资源,从而实现轻量级、高效和可扩展的系统设计。...
《架构风格与基于网络的软件架构设计》是网络软件领域的一部重要著作,作者通过深入研究,探讨了软件架构的设计原则和模式,特别是在Web环境下的应用。这本书的中英文版本都为读者提供了全面理解现代互联网软件架构...
REST(Representational State Transfer,表述性状态转移)架构风格是一种设计网络应用的准则和原则,主要应用于Web服务,旨在使接口简洁、可扩展且高效。RESTful架构的主要目标是通过HTTP协议来创建、读取、更新和...
因此,设计一个原生支持REST风格的MVC框架,以适应现代Web开发的需求,变得尤为重要。 #### REST风格的MVC框架设计原理 在设计REST风格的MVC框架时,关键在于如何将URL直接映射到具体的控制器方法上,而不是像传统...
Fielding博士特别强调了基于网络的架构风格,如REST(Representational State Transfer),这是一种用于构建Web服务的设计风格,强调资源的表述、状态转移和统一的接口原则。 论文的其余部分深入探讨了这些架构风格...
综合以上信息,基于REST架构的物联网数据平台设计涉及到了多个方面的知识,包括物联网传感器的数据处理、RESTful Web Services的应用、数据库的设计与使用、以及用户交互和权限管理等。这些知识点对于设计一个功能...
REST架构风格基于一组网络架构原则和约束,它们定义了如何使用HTTP、URI和相关的Web技术来构建可交互的服务。REST的核心在于资源的抽象,每个资源都可以通过一个唯一的URI来标识,而对资源的操作则通过标准的HTTP...
Roy Thomas Fielding博士是HTTP协议的主要作者之一,他在博士论文中首次完整地定义了REST架构风格。他的研究工作对现代互联网的架构有重大影响,为Web服务和API设计提供了理论基础。 3. RESTful API设计原则: - ...
3. 房产管理WebGIS平台的架构设计:基于RIA+REST架构的房产管理WebGIS平台,提供了一个集成的解决方案,满足房产管理部门的需求。 知识点: * RIA(Rich Internet Application):一种基于Web的应用程序,提供了...
REST风格的架构是一种基于HTTP协议,使用统一的接口来交互数据和实现功能的软件设计模式。在Web服务领域,REST(Representational State Transfer,表述性状态转移)已经成为构建可伸缩、高性能网络应用的重要选择。...
REST(REpresentational State Transfer)是一种混合架构风格,当前互联网的核心架构风格。基于 REST 服务(RESTful Service)的 Web 应用系统设计任务主要包括:识别并设计 REST 风格的服务,采用面向服务的思想...