一般客户端访问服务器端web服务通常可以由HTTPService、WebService、RemoteObject等方式来实现。通常实现web服务我们最容易想到的是SOAP协议的WebService,这在目前web服务中占有很重要的地位。随着REST思想的出现,目前很多公司开始使用REST风格的WebService。
SOAP: 简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
REST: 即REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
REST 与SOAP的比较:
SOAP目前成熟,不同平台,开发语言之间通过SOAP来交互的web service都能够较好的互通。REST相对不太成熟,由于没有类似于SOAP的权威性协议作为规范,REST实现的各种服务风格不一,通用性不强。
效率和易用性
SOAP使用门槛高(学习成本高,开发难度大),由于SOAP由于各种需求不断扩充其本身协议的内容,在大并发下性能有所下降。REST 目前大量的Web 2.0网站使用,高效以及简洁易用。这种高效一方面源于其面向资源接口设计以及操作抽象简化了开发者的不良设计,同时也最大限度的利用了Http最初的应用协议设计理念。REST 是一种轻量级的Web Service架构风格,其实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。
SOAP在安全方面是通过使用XML-Security和XML-Signature两个规范组成了WS-Security来实现安全控制的,当前已经得到了各个厂商的支持,.net ,php ,java 都已经对其有了很好的支持。REST没有任何规范对于安全方面作说明。因此在考虑安全性上,SOAP要高于REST。
总的来说,我认为REST对于资源型服务接口来说很合适,同时特别适合对于效率要求很高,但是对于安全要求不高的场景。而SOAP的成熟性可以给需要提供给多开发语言的,对于安全性要求较高的接口设计带来便利。
Rest Service具备Web Service的所有特点:平台独立、松耦合、互操作性。并且,Rest 更轻量级,更简单。可以这么说吧,Rest Service 是Web Service的一种实现,并不是说Rest是Web service替代。 // Config with user_token const config = { app_token : 'AHBIwc4M21Q8yaOzrluxojHJRvHTF6gteAlDBaFW' , api url : 'https://myglpi.com/ api rest .php' , user_token : 'tt5jyPvv311OzjmrJMNh2Gqgu5ovOOy7saE2fI5ha' , // or // Config with basic auth const config = { app_token : 'AHBIwc4M21Q REST ful是什么: 首先要了解什么是 REST REST 就是(Representational State Transfer单词太长记不住就对了)是一种构架风格, REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或者设计就是 REST ful,核心就是面向资源, REST 专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性,为什么这么说,因为 REST ful是无状... 不同的设计者可以依据自己的实际项目和需求,设计 REST 风格的Web Service,也正是由于这种“各自为战”的Web Service实现方式,让 REST 方式的web service在性能和可用性上通常会优于依据 SOAP 发布的web service, 但由于在细节上没有太多约束,其统一性上不及 SOAP 。简而言之,在 SOAP 方式实现的Web Service中, SOAP 描述了“访问方式”,通过WSDL描述了“服务内容”, SOAP 方式的Web Service是WS的一套完整的实现方案。 rest ful 接口 :json文件,"双引号", java调用 webservice 时抛出该异常:Fault occurred while processing:看了网上一堆解答,我的请求参数没问题,eclipse有报错,看报错信息就可以找到问题了。 REST ful 是一种 接口 API ,web service 不是 接口 ,它是一种服务。两个概念不应该相提并论。 实践中, REST SOAP 是 web services 中两个 比较 常见的 接口 API 。有时候,JSON 也被看成是其中的另外一个 接口 。 因此,一般人会问:作为 web services 的两个 接口 技术, REST SOAP 那个更具有优势? 随着数据科学和人工智能的发展,尤其是访问不同数据源的需要, REST ful 接口 更加强大和流行。目前看,所有数据库都支持 REST API 。 当你看到 API 接口 你会想起什么?是 接口 、第三方调用、还是 API 文档?初看你可能会觉得这太熟悉了,这不是系统开发日常系列吗?但你仔细想一想,你会发现 API 的概念在你脑海里是如此的模糊。如何你通过搜索引擎检索 API ,你会看到类似这样的信息: API ——Application Programming Interface(应用程序编程 接口 ),这太抽象了。接下来,我将结合在开发中总结的一些经验,以最通俗的方式聊聊 API REST API REST ful API 以及Web Service这四者之间的联系与 区别 。   有好多人问我们在设计底层服务的时候到底是应该选择目前最流行的 Rest Ful架构还是选择老牌的 webService 呢?今天我就将这两个概念做一下阐述,到底什么情况下选择什么 比较 合理。   首先需要了解: REST 是一种架构风格,其核心是面向资源;而 webService 底层 SOAP 协议,主要核心是面向活动;  相关概念: SOAP 什么是 SOAP ,我想不用多说,google一把满眼... SOAP (简单对象访问协议)和 REST (Representational State Transfer)都是Web服务的通信协议。 SOAP 长期以来一直是Web服务 接口 的标准方法,近年来它开始由 REST 主导,根据Stormpath统计,有超过70%的公共 API 使用 REST API REST ful: REST 是一种架构风格, REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 REST ful,核心是面向资源, REST 专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性,为什么这么说,因为 REST ful是无状态的,无状态是指任意一个web请求必须完全与其他请求隔离,是独立的,当请求端提出请求时,请求本身包含了这一请求的全部信.