首页 > 其他分享 >REST和SOAP的区别

REST和SOAP的区别

时间:2023-04-12 13:34:50浏览次数:24  
标签:协议 HTTP 区别 REST WS http SOAP

SOAP
简单对象访问协议(Simple Object Access Protocol,SOAP)是一种基于 XML 的协议,可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME),基于“通用”传输协议是 SOAP的一个优点。它还支持从消息系统到远程过程调用(Remote Procedure Call,RPC)等大量的应用程序。SOAP提供了一系列的标准,如WSRM(WS-Reliable Messaging)形式化契约确保可靠性与安全性,确保异步处理与调用;WS-Security、WS-Transactions和WS-Coordination等标准提供了上下文信息与对话状态管理
REST
相对而言,SOAP协议属于复杂的、重量级的协议,当前随着Web2.0的兴起,表述性状态转移(Representational State Transfer,REST)逐步成为一个流行的架构风格。REST是一种轻量级的Web Service架构风格,其实现和操作比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。REST架构对资源的操作包括获取、创建、修改和删除资源的操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法,这种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。REST架构尤其适用于完全无状态的CRUD(Create、Read、Update、Delete,创建、读取、更新、删除)操作。
REST和SOAP区别
    核心: 在SOAP模式把HTTP作为一种通信协议,而不是应用协议。所以http中的表头,错误信息等全部无视。实际上http有 put get post delete等方法。
    REST 则不然,HTTP method中的 POST GET PUT DELETE 都是与请求方法对应的,rest真正实现了http的五层结构。
    REST 提交的请求中,代理服务器可以通过请求方式直接判断请求动作是要进行什么操作。

标签:协议,HTTP,区别,REST,WS,http,SOAP
From: https://www.cnblogs.com/RogerLu/p/17309499.html

相关文章

  • REST 与 SOAP 之间的差异
    本文主要探讨REST和SOAP之间的主要区别。其实把他俩放一起讨论,就好像拿苹果和橘子对比一样,因为SOAP是一种基于XML的协议格式,而REST是一种架构风格。本文摘要什么是REST?什么是SOAP?REST和SOAP有何不同?REST和SOAPREST和SOAP没有可比性。REST是一种软件架构风......
  • utf8和utf8mb4有什么区别?
    一、简介MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是mostbytes4的意思,专门用来兼容四字节的unicode。utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。二、内容描述通常,计算机在存储字符时,会根据不同类型的字符......
  • C++-unique_lock与lock_guard区别
    C++-unique_lock与lock_guard区别https://blog.csdn.net/ccw_922/article/details/124662275https://blog.csdn.net/sinat_35945236/article/details/124505414都可以对std::mutex进行封装,实现RAII的效果。绝大多数情况下这两种锁是可以互相替代的,区别是unique_lock比lock_gu......
  • Ado.net与EF的区别?
    运行效率方面:Ado.net更好,直接通过Command、Connection等命令写sql语句进行CRUD操作。开发效率方面:EF开发起来更快,代码可读性好。只需操作对象,使用C#语法完成数据库操作。适用性方面:EF适合大型项目,数据量大。Ado.net适合小型项目,运行效率高。......
  • resttemplate绕过https认证
    publicclassRestTemplateConfig{publicstaticHttpComponentsClientHttpRequestFactorygenerateHttpRequestFactory()throwsNoSuchAlgorithmException,KeyManagementException,KeyStoreException{TrustStrategyacceptingTrustStrategy=......
  • 数组和链表的区别
    1.读取数组读取耗时为O(1),支持随机读取;链表读取耗时为O(n),仅支持顺序读取; 2.插入(已知目标节点)数组插入耗时为O(n);链表插入耗时为O(1); 3.删除(同插入)数组插入耗时为O(n);链表插入耗时为O(1);  ......
  • HTML5 Canvas和SVG的区别
    Canvas主要是用笔刷来绘制2D图形的。SVG主要是用标签来绘制不规则矢量图的。相同点:都是主要用来画2D图形的。区别:SVG画的是矢量图,Canvas画的是位图;SVG节点过多时渲染慢,Canvas性能更好一点,但写起来更复杂;SVG支持分层和事件,Canvas不支持,但是可以用库实现。......
  • JavaScript 的 ==、===、区别
    在JavaScript中,==和===都是用于比较两个值是否相等的运算符。它们之间的主要区别在于类型转换方面。具体来说:== 运算符在检查相等性之前会根据需要进行类型转换,将不同类型的值转换为相同类型。例如,如果一个操作数是字符串类型,另一个是数字类型,那么字符串会被转换成数字后......
  • 数据挖掘中聚类和分类有什么区别
         分类(classification)是这样的过程:它找出描述并区分数据类或概念的模型(或函数),以便能够使用模型预测类标记未知的对象类。分类分析在数据挖掘中是一项比较重要的任务,目前在商业上应用最多。分类的目的是学会一个分类函数或分类模型(也常常称作分类器),该模型能把......
  • 聚类与分类区别2
       在分类中,对于目标数据库中存在哪些类是知道的,要做的就是将每一条记录分别属于哪一类标记出来。聚类需要解决的问题是将已给定的若干无标记的模式聚集起来使之成为有意义的聚类,聚类是在预先不知道目标数据库到底有多少类的情况下,希望将所有的记录组成不同的类或者说聚类,并且......