G0574's Archiver

弯月圆刀 发表于 2008-1-23 11:00

REST way

原文出自: [url]http://www.xfront.com/REST-Web-Services.html[/url]
下面是我的翻译和理解:
复制内容到剪贴板代码:
REST 是 Representational State Trasfer的缩写,是一种架构风格(直译),我觉得应该是对网络系统的一种理解方式。

为什么叫做Representational State Trasfer?

web是由资源(resource)构成,资源可以是任何感兴趣的东西。比如波音公司可以定义一个747资源,客户可以通过下面的url访问资源。

[url]http://www.boeing.com/aircraft/747[/url]

访问之后,资源返回一个representation(比如Boeing747.html),这个representation将客户端置于某种状态(State)。而客户顺着Boeing747.html中的链接可以操作另一个资源,而新的资源返回新的representation将客户端进入又一个新的状态。所以客户端随着每个资源的representation不断的变化状态。这就是Representational State Trasfer。

所以我在开始的时候提到,这是对网络的一种新的理解方式。它用自己的一套术语可以将网络的行为描述的非常清楚,我们在技术设计上来充分实践这种理解,就是REST。

Principles of REST Web Service Design,REST设计原则
1、一切皆资源
2、每个资源具有唯一的URL,记住资源是名词,而不是动词!
[url]http://www.parts-depot.com/parts/getPart?id=00345[/url]
注意,getPart是一个动词,必须用名词:
[url]http://www.parts-depot.com/parts/00345[/url]
3、如果资源是只读的,记住只能通过HTTP GET。此外,则可以使用HTTP POST,PUT,DELETE
4、所有通过HTTP GET都不能修改资源。
5、资源的表现(representation)必须链接到其他资源。
6、渐进的展示数据。就是说在返回的表现中能够连接到更详细的数据。
7、为资源的反应指定一个格式描述,比如DTD W3C Schema等等
8、Describe how your services are to be invoked using either a WSDL document, or simply an HTML document.
如果你正在尝试使用rails 2.0 这也许有所帮助。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.