28、REST与相关服务架构解析

REST与相关服务架构解析

1. HTTP+POX概述

REST在企业级面向服务架构应用的推广中面临诸多挑战。首先,严格的四个HTTP动词(GET、POST、PUT、DELETE)使用规则以及资源需传输到客户端进行逐块处理的要求,给其应用带来了困难。其次,浏览器对这四个动词的支持有限,进一步限制了纯粹REST的应用。此外,资源URL缺乏既定的规范,以及内容类型的指定方式不统一(如ActiveRecord不符合相关规范),也使得REST的应用不太受欢迎。

不过,在Rails领域之外,一种基于严格REST的变体——REST+POX正逐渐受到关注。其中,POX代表普通的旧XML(Plain Old XML)。在HTTP+POX中,当基于资源的方法适用时,会采用REST的约定,例如ActiveResource所能实现的功能都属于这一范畴。而对于需要面向过程方法的问题,比如确保服务器能在数据库事务中封装一个过程,或者在不将所有数据先传输到客户端处理的情况下完成任务,就会采用POX的方式。

POX本质上是一种通过URL访问的方法,它接收参数并以XML格式返回结果。它类似于Web表单中action参数所定义的页面,但传入的参数可以是用XML编码的完整数据结构。简单来说,它就是我们多年来一直在开发的服务器端操作,只是增加了复杂数据作为参数。HTTP+POX中的“普通旧XML”部分,是将XML - RPC中隐藏在端点URI后面的过程操作,下移到了更低级的HTTP层。通常,人们所说的RESTful指的就是这种方式。

2. 定义服务契约

尽管REST的概念早在多年前就由Fielding提出,但作为构建Web服务的实用方法,它仍处于起步阶段。对于如何最好地实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值