网络编程:简单Web服务与XML数据处理
1. 简单Web服务概述
近年来,简单Web服务重新兴起,这类服务避免了详细的SOAP协议和WS - *标准的复杂性。虽然简单Web服务无法取代基于SOAP的Web服务,因为它们不能解决分布式处理中的一些实际挑战,如路由、事务和安全问题,但它们简洁的结构使其成为构建需要与尽可能广泛的客户端兼容的公共Web服务的理想选择。许多知名网站(如亚马逊、eBay和谷歌)都为其Web服务提供了基于REST和SOAP的接口。
1.1 SOAP与REST的对比
所有Web服务都通过HTTP传递消息,但在信息传递和返回的方式上存在差异,具体如下表所示:
| 类型 | 数据结构 | 传递方式 | 优点 | 缺点 |
| ---- | ---- | ---- | ---- | ---- |
| SOAP | 数据置于特定的XML结构(SOAP文档)中 | 构建SOAP消息可能较复杂,在无内置SOAP支持的平台上需手动构建XML | 使用强类型数据,通过SOAP头具有高度可扩展性 | 可能较为冗长,构建消息工作量大 |
| 非SOAP(REST类) | 输入值可作为查询字符串参数附加在URL末尾,或作为消息体中的名值对组合 | 可通过URL或消息体传递信息,开销较小 | 结构简单,开销小 | 无真正的类型检查 |
REST实际上是一种哲学理念,而非具体标准。其基本思想是每个URL代表一个唯一对象,不同的HTTP动词表示对该对象的操作(如HTTP GET用于检索对象,HTTP POST用于更新对象)。大多数自称基于REST的Web服务并未完全遵循这一理念,实际上只是简单的非SOAP Web服务。 </
超级会员免费看
订阅专栏 解锁全文
2472

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



