电子商务百科 >>所属分类 >> 信息化   

REST 编辑词条 发表评论(0)

表象化状态转变(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。

目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。
cvfrty_+_-p[;

目录

[显示全部]

宗旨 编辑本段回目录


REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表形。获得这些表形致使这些应用程序转变了其状态。随着不断获取资源的表形,客户端应用不断地在转变着其状态,所谓表形化的状态转变(Representational State Transfer)。 OPLK00((/

这一观点不是凭空臆造的,而是通过观察当前Web互联网的运作方式而抽象出来的。Roy Fielding 认为,

“ 设计良好的网络应用表现为一系列的网页,这些网页可以看作的虚拟的状态机,用户选择这些链接导致下一网页传输到用户端展现给使用的人,而这正代表了状态的转变。 ” q34rfghnjkl,>

要点及标准 编辑本段回目录


需要注意的是,REST是一种设计风格而不是一个标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。

资源是由URI来指定。
s0oiu76.\"\":

对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法。
通过操作资源的表形来操作资源。
资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式。 
s0oiu76.\"\":


REST的要求 编辑本段回目录


客户端和服务器结构
连接协议具有无状态性
能够利用Cache机制增进性能
层次化的系统
Code On Demand - Javascript

关于状态 编辑本段回目录

ssdd%%$#&kkjh4


应该注意区别应用的状态和连接协议的状态。REST对于连接的无状态性实际上要求每次经过无状态的连接协议传送的信息必须包含应用中所有的状态信息。

实现举例 编辑本段回目录

q34rfghnjkl,>


例如,一个简单的网络商店应用,

列举所有商品,

GET http://www.store.com/products
具体某一件商品,

GET http://www.store.com/product/12345
下单购买,

POST http://www.store.com/order,  ssdd%%$#&kkjh4

REST的优点 编辑本段回目录


可以利用缓存Cache来提高响应速度
通讯本身的无状态性可以让不同的服务器的处理一系列请求中的不同请求,提高服务器的扩展性
浏览器即可作为客户端,简化软件需求

cvfrty_+_-p[;


相对与其他叠加在HTTP协议之上的机制,REST的软件依赖性更小
不需要额外的资源发现机制
在软件技术演进中的长期的兼容性更好

实现 编辑本段回目录


Ruby on Rails1.2以后的版本支持REST model。  s0oiu76.\"\":

参考资料 编辑本段回目录


《RESTful Web Services 中文版》:http://www.restfulwebservices.cn/
http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm Roy Fielding的博士论文《Architectural Styles and the Design of Network-based Software Architectures》
q34rfghnjkl,>

http://www.xml.com/pub/a/2002/02/06/rest.html 第二代web服务,Paul Prescod。
取自"http://zh.wikipedia.org/w/index.php?title=REST&variant=zh-cn"
参考资料
[1].  REST   http://zh.wikipedia.org/w/index.php?title=REST&variant=zh-cn
[2].  wow gold   http://www.wowgold365.co.uk
[3].  love day   http://www.20101226.com
[4].  wow gold   http://www.wowgold365.co.uk
[5].  Wow Warlocks   http://www.wow-warlocks.com
[6].  wow gold   http://www.gamehehe.fr
[7].  chinese military history   http://www.vopothink.com
[8].  world of warcraft gold   http://www.feedwowgold.com/
[9].  world of warcraft gold EU   http://www.blizzard-news.com/
[10].  life quotes   http://www.hello-everyday.com

附件列表


→如果您认为本词条还有待完善,请 编辑词条

上一篇Web服务

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

收藏到: Favorites  

词条信息

ecwiki
ecwiki
超级管理员
词条创建者 发短消息   

相关词条