什么是 RESTful 设计(转自http://blog.csdn.net/goodxp/archive/2007/11/25/1901361.aspx & IBM Help)

 
REST是一种网络软件架构设计风格。REST认为网络就是一个资源(Resource)的集合。一个用户(或者一个网络应用程序)可以通过 HTTP协议与某个网络应用程序交互——获取(GET)、更改(UPDATE)、建立(CREATE)或者删除(DELETE)其内部的 Resource。
 
什么是Resource呢?发票、订单……任何你在某个应用程序中需要了解和操作的东西。Resource存在于应用程序中,应用程序可以选择以不同的表现形式(Representation)输出Resource——HTML、XML、图形或其他格式。
 
这样设计实现起来很简单,不需要发明任何新东西。在整体网络应用的性能上还可以通过对Resource使用通用的HTTP缓存技术进行优化,以较少的网络设施支持更多的用户。
相 比过去的RPC(远程过程调用)、XML Web Service等等系统间集成方式,REST的抽象方式提供了更好的功能解耦方式,对于应对开发、维护中的需求变化更加敏捷。以资源为中心的设计 (Resource-centric Design)还可以减少API设计的复杂性,让开发人员以类似的方式调用外部API可以减少学习的复杂度。正是由于这些原因,很多Web 2.0网站都提供了Restful API作为基于XML Web Service的API的补充或代替。

RESTful 服务

术语 REST 描述了可用来实现联网系统的一种设计模型。REST 既不是一种技术也不是一种标准;它是用来通过 Web 公开资源的一种架构风格。RESTful 架构遵从以下几个原则:

  • 请求是客户-服务器 式的,并很自然地使用一种基于拉的交互风格。对组件的使用会从服务器中拉出状态的表示。
  • 请求是 无状态的。每个从客户端到服务器端的请求都必须包含理解此请求所需的全部信息,而且不能利用服务器上所存储的上下文。

    REST 并不一定就意味着在中间层没有任何状态;其真正的含义是为实现对某资源的请求的这个状态并不依赖于该状态。

  • 客户机和服务器都遵从统一的接口。所有的资源都可通过 Web 扩展的 SOA 世界中的普通接口进行访问 — HTTP 及 HTTP 方法:GETPOSTPUTDELETE
  • 客户机负责访问命名的资源。此系统由使用 URL(比如 HTTP URL)命名的资源组成。
Representational State Transfer(REST)是面向分布式超媒体系统(例如 World Wide Web)的软件架构风格。

REST 是表示 Web 中的服务的关键技术。REST 在公开基于数据的服务方面效果最好,理解这一点非常重要。这些数据服务进而可以混合和匹配以便构建新的应用程序(通常称为 mashup)。如下的示例展示了客户机是如何对待 RESTful 服务的。




http://<host>/customer

  • GET:返回客户列表
  • POST:创建客户记录

http://<host>/customer/roland

  • GET:返回 Roland 客户记录
  • PUT:更新 Roland 记录
  • DELETE:删除 Roland 记录

在本例中,所公开的资源是 Customer。此 Customer 用 URI /customer 表示。特定的客户则通过在 Customer 之后追加标识符加以表示,例如 /customer/ims。HTTP 报头方法定义了访问此资源的意图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值