java – Restful Web服务如何比基于SOAP的Web服务更好

我已经经历了各种各样的网站,他们提供的唯一答案是 – Restful Web服务使用Http自己的方法,如(GET,POST,PUT,DELETE)..而基于SOAP的Web服务使用自己的自定义方法.
– Restful Web服务将每个服务方法视为一种资源,并给它一个URI ..

然而,我不明白这些答案的全部意义.至于为什么这些事情证明比基于SOAP的Web服务有如此大的优势.

一个例子将不胜感激

解决方法

REST自然适合Web / Cloud API,而SOAP适合于分布式计算场景.

带宽是REST的主要优点,因为没有复杂的文档遍历(即XML,SOAP头),这对于良好的Web API来说是非常重要的. JSON是用于数据交换的广泛认可和简单的标准,并且可以通过浏览器和客户端代码轻松阅读,这就是为什么大多数RESTful API(雅虎是一个很好的例子)提供了JSON.

更不用说REST可用于XmlHttpRequest对象,这对于Web API的AJAX能力也是至关重要的.

当然,REST的缓存功能当然不能忽视.由于REST基于HTTP,因此可以利用HTTP(和Web本身)的许多语义,通过使用HTTP数据包(expires)上的标头来启用浏览器的缓存.更不用提gzip压缩来提高效率了.性能方面,REST实际上是通过SOAP来完成的.

对于SOAP来说,SOAP适用于状态操作. WS *标准(安全性,事务处理等)处理这种在分布式场景中相当普遍的管道.可以使用REST来完成REST,但是它不会真的是REST. SOAP对于定义客户端和服务器之间的操作合同非常有用,这在分布式场景中至关重要.

所以我的意见(以及整个SOAP与REST的事情都是高度评价的),将SOAP用于分布式计算场景,将REST用于Web API.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...