一般客户端访问服务器端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请求必须完全与其他请求隔离,是独立的,当请求端提出请求时,请求本身包含了这一请求的全部信.