问答题 SOAP与REST有什么区别
【正确答案】
【答案解析】SOAP是一个严格定义的信息交换协议,用于在Web Service中把远程调用和返回封装成机器可读的格式化数据,SOAP数据使用XML数据格式,定义了一整套复杂的标签,来描述调用的远程过程、参数、返回值和出错信息等内容。
REST(Representational State Transfer,表述性状态转移)形式上为客户端通过申请资源来实现状态的转换,可以被看作一台虚拟的状态机。需要注意的是,它只是一种软件架构风格,而不是一个具体的协议或标准,而且,它是面向资源的,甚至连服务也会被抽象成资源。
下表为SOAP与REST的对比。
SOAP与REST的对比
SOAP REST
寻址模型 URI只用来定位SOAP端点;资源与URI是一一对
应;一端点对应多个资源
标准化的URI、DNS;URI与资源(包括服务)
一一对应
接口 不提供通用操作,每个服务定义自己的方法(操作) 提供通用操作,即HTTP的GET、PUT、POST
和DELETE
中间媒介 不兼容传统的Web中间媒介 兼容传统的Web中间媒介,包括代理、缓存服
务器、网管等
安全性 十分复杂,不能使用现有防火墙控制 简单有效,可用现有防火墙控制