深入理解Web服务架构与客户端编写
1. Web服务架构类型
1.1 RPC风格服务
RPC(远程过程调用)风格的服务将方法信息和作用域信息以不同方式处理。在HTTP请求中,方法信息不一定包含在HTTP方法中,而可能存在于URI、HTTP头部或实体主体中。例如,使用HTTP POST较多或仅使用POST的服务可能是RPC风格服务,因为这表明该服务不太关注将方法信息放在HTTP方法里。常见的RPC风格服务示例包括:
- 所有使用XML - RPC的服务。
- 几乎所有的SOAP服务。
- 一些设计不佳的Web应用程序。
1.2 REST - RPC混合架构服务
REST - RPC混合架构服务介于RESTful服务和纯RPC风格服务之间。这类服务通常由熟悉实际Web应用但对REST理论了解不多的程序员创建。
以Flickr Web服务为例,其URI http://www.flickr.com/services/rest?api_key=xxx&method=flickr.photos.search&tags=penguin 虽包含“rest”,但实际上是RPC风格服务。它将作用域信息(“标签为‘penguin’的照片”)放在URI中,这与RESTful资源导向服务类似;但方法信息(“搜索照片”)也放在URI中,而在RESTful服务中,方法信息应放在HTTP方法中。然而,当客户端发送GET请求时,该服务又看似是RESTful的,因为请求的目的是“获取”信息,难以区分方法信息是在HTTP方法还是URI中。
常见的REST - RPC混合架构服
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



