一、Soap和Rest的定义
SOAP(Simple Object Access Protocol 简单对象访问协议),用于在Web Service中把远程调用和返回封装成机器可读的格式化数据,事实上SOAP使用XML数据格式,以描述调用的远程过程、参数、返回值和出错信息等等。其实SOAP最早是针对RPC的一种解决方案,很轻量,同时作为应用协议可以基于多种传输协议来传递消息(Http,SMTP等)。但是随着SOAP作为WebService的广泛应用,不断地增加附加的内容,使得现在开发人员觉得SOAP很重,使用门槛很高,而且随着需求的增长,又不得增加协议以支持安全性,这使SOAP变得异常庞大,背离了简单的初衷。在SOAP后续的发展过程中,WS-*一系列协议的制定,增加了SOAP的成熟度,也给SOAP增加了负担。SOAP 常常被称作“web services”,这是一个误称。SOAP 和 web 基本上说不上话。REST 提供的才是真正的基于URL 和 HTTP 的 “web services”。
REST(Representational State Transfort表述性状态传递)形式上应该表述为客户端通过申请资源来实现状态的转换,在这个角度系统可以看成一台虚拟的状态机。按照REST原则设计的软件、体系结构,通常被称为“REST式的”(RESTful),抛开R. T. Fielding博士论文里晦涩的理论不说,REST应该满足这样的特点:
1)客户端和服务器结构;
2)连接协议具有无状态性;
3)能够利用Cache机制增进性能;
4)层次化的系统;
5)按需代码。
REST只是一种架构风格,而不是