首页 > 其他分享 >【计算机网络】soap和rest简单比较整理

【计算机网络】soap和rest简单比较整理

时间:2023-07-17 17:12:56浏览次数:44  
标签:缓存 HTTP 请求 rest 计算机网络 服务器 soap 客户端

https://www.bilibili.com/video/BV1ht411U7fC/?spm_id_from=333.337.search-card.all.click&vd_source=d11276664e3a69665cdbcae735af16dc

一、从定义上他们就是完全不同的,soap是一个协议,restful是一种架构风格,是直接基于http协议实现的。所以直接可以看出当你想实现webservice的时候,后者的实现是相对简单的。soap相当于将要传输的内容又包了一层,都封装在envelope里面进行传输,而restful可以理解为发送的就是请求本身,是透明的。

二、安全校验: 通常的做法是当有从客户端 Client2 发出的 HTTP 请求都经过代理服务器 (Proxy Server)。代理服务器制定安全策略:所有经过该代理的访问 User 和 User List 资源的请求只具有读取权限,即:允许 GET/HEAD 操作,而像具有写权限的 PUT/DELTE 是不被允许的。那么如果是使用soap,那么代理是没有办法确定它的请求类型的,因为之前讲到的,soap的请求是被封装过的,很难解析envelope里面的请求类型。

三、关于缓存,REST 的应用可以充分地挖掘 HTTP 协议对缓存支持的能力。当客户端第一次发送 HTTP GET 请求给服务器获得内容后,该内容可能被缓存服务器 (Cache Server) 缓存。当下一次客户端请求同样的资源时,缓存可以直接给出响应,而不需要请求远程的服务器获得。而这一切对客户端来说都是透明的。而soap还是我们提到的那个问题,无法知道请求类型。(默认soap使用的是post)。这一点在我们新要使用的webservice上极为重要,因为我们只提供一个get接口供用户得到信息,且信息内容不会经常改变。而且更重要的事get比post要快。

标签:缓存,HTTP,请求,rest,计算机网络,服务器,soap,客户端
From: https://www.cnblogs.com/SPiCa24/p/17560624.html

相关文章

  • 调用 ArcGIS Server(GeoScene Server Manager)REST 接口,获取目录
    #创建tokentoken=$(curl-ks-XPOST'https://gis.geoscene.cn:6443/geoscene/tokens/generateToken'-d'username=geoscene&password=KFzonghe2023&expiration=2&f=json'|jq'.token')token=${token:1:-1}#获取服务列表,从服务列表获取目......
  • 案例:基于RESTful页面数据交互
        ......
  • RESTful快速开发
        ......
  • REST API 设计最佳实践:为什么不要在URI中使用动词?
    总的来说,HTTP协议出现以来Web服务也就存在了。但是,自从云计算出现后,才成为实现客户端与服务和数据交互的普遍方法。作为一名开发者,我很幸运能够在工作中使用一些仍然存在的SOAP服务。但是,我主要接触的是REST,这是一种基于资源的API和Web服务开发架构风格。在我的职业生涯中有很大......
  • 【二十三】Django框架(Rest Framework)之版本控制
    【一】为什么需要版本控制API版本控制允许我们在不同的客户端之间更改行为(同一个接口的不同版本会返回不同的数据)。DRF提供了许多不同的版本控制方案。可能会有一些客户端因为某些原因不再维护了但是我们后端的接口还要不断的更新迭代这个时候通过版本控制返回不同的内容......
  • postgrest数据库
    PostgREST是一种基于PostgreSQL数据库的RESTfulAPI服务器,PostgREST可以方便地创建和管理RESTfulAPI接口,同时也可以提高开发效率和降低开发成本。目录一、postgrest概述二、postgrest作用三、postgrest特点四、postgrest应用五、部署postgrest六、postgrest命令七、postg......
  • 高性能RestTemplate配置
    简述RestTemplateSpring框架中的RestTemplate是访问Rest服务的客户端底层通过使用java.net包实现创建HTTP请求通过使用ClientHttpRequestFactory指定不同的HTTP请求方式,主要提供了两种实现方式​ SimpleClientHttpRequest(默认)底层使用J2SE通过的方法(java.net包提......
  • docker restart 多個容器
    Dockerrestart多个容器的流程为了实现Dockerrestart多个容器,我们可以按照以下步骤进行操作:步骤描述1找到需要重启的容器2停止容器3重新启动容器下面是每一步具体需要做的操作和相应的代码:步骤1:找到需要重启的容器首先,我们需要确定需要重启的容器的......
  • 计算机网络自顶而下第二章笔记
     应用层原理网络应用的体系结构可能的应用架构:r客户-服务器模式(C/S:client/server)r对等模式(P2P:PeerToPeer)r混合体:客户-服务器和对等体系客户-服务器(C/S)体系结构r服务器:m一直运行m固定的IP地址和周知的端口号(约定)m扩展性:服务器场•对数据中心进行扩......
  • 关于 SAP ABAP 事务码 SM30 里的 Restrict Data Range
    SAPABAP事务码SM30里的RestrictDataRange区域的Enterconditions和Variant这两个选项有什么作用?SAPABAP中的SM30事务码用于维护表的条目。在使用SM30事务时,RestrictDataRange区域允许用户定义一些限制条件,可以帮助缩小查询或更改的数据范围。这对于大型表......