2021-05-18 C#.NET面试题 为何说基于 SOAP 的服务是重量级的服务,Rest是轻量级的?

为何说基于 SOAP 的服务是重量级的服务,Rest是轻量级的?

Restful Web服务是一种基于 REST 和 HTTP 协议的轻量级Web 服务,它把Web应用系统中的一切都当作是资源,它利用标准的HTTP请求方法(GET、POST、PUT 和 DELETE等),以URL的形式访问(功能调用)Web资源。
JAVA中共有三种Web Service规范,分别JAX-WS(JAX-RPC)、JAX-RS、JAXM&SAAJ。其中有两种SOAP Web Service规范:JAX-WS和SAAJ。JAX-RS是Rest服务定义。使用最多的是JAX-WS和JAX-RS。
JAX-RS (JSR 311) JAX-WS (JSR 224)
适用范围 适用于简单的远程数据访问 适用于复杂的数据交互模式
消息传输 请求和响应通过 HTTP 消息正文来传输 请求和响应被放在 SOAP 消息,作为传输层(HTTP, JMS, SMTP 等)消息正文进行传输
客户端调用 只需要一个 URL就能调用 Web 服务 需要编写标准的客户端代码,对 Web Services进行访问
安全性 简单的认证和授权机制 丰富的安全策略,可实现各种安全需求
访问终端 桌面浏览器或移动终端浏览器 桌面、浏览器
Java EE6引入了对JSR-311的支持。JSR-311(JAX-RS:Java API for RESTful Web Services)旨在定义一个统一的规范,使得 Java 程序员可以使用一套固定的接口来开发 REST 应用,避免了依赖于第三方框架。同时,JAX-RS使用POJO编程模型和基于标注的配置,并集成JAXB,从而可以有效缩短 REST 应用的开发周期。
JAX-RS定义的API位于javax.ws.rs包中。
JAX-RS的具体实现由第三方提供,例如Sun的参考实现 Jersey、Apache 的 CXF以及JBoss的RESTEasy等。
SOAP比较复杂,基于XML,有对应规范;REST利用HTTP请请求方式GET,POST,PUT约定事务操作。简单的说,SOAP通过传输XML,XML定义了请求和响应的具体数据,要进行的操作等等;而REST则是另一种约定,比如请求/user/1001这个RUL,GET方式返回id为1001的user信息,POST方式则是更新id为1001的user信息,DELETE删除等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值