简述WebServiceAPI和RESTfulAPI,以及其优缺点

(1)WebService是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。

(2)RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。

WEBservice优缺点:

优点:

1.可操作的的分布式应用程序

可以实现不同应用程序和在不同系统平台上开发出来的应用程序之间通信。与RMI、DOCM、CORBA最大的不同就是:WebService以SOAP作为基本通信协议从而避免了复杂的协议转换.

2.普遍性、使用HTTP和XML进行通信

任何支持HTTP和XML技术的设备都可以拥有和访问WebService,不同平台不同开发语言照样可以调用我们发布的WebService.

3.WebService甚至可以穿越防火墙,真正的自由通信

一般要访问的Web服务器以及要访问的WebService的客户端很可能位于防火墙后面,都默认关闭其它端口而开发HTTP端口,而Webservice正是基于HTTP的,所以它可以穿越防火墙.

4.通过SOAP协议实现异地调用

SOAP是WebService的基本通信协议,它是在分散或分布式环境中交换信息,它基于XML的协议,通过SOAP协议可以实现不同项目、不同地点、甚至异地调用应用程序

缺点:

由于soap是基于xml传输,本身使用xml传输会传输一些无关的东西从而效率不高,随着soap协议的完善,soap协议增加了许多内容,这样就导致了使用soap协议去完成简单的数据传输的效率不高。如果直接用http传输自定义数据内容比webservice开发更快捷,例如第三方支付公司的支持接口。

应用场景:

因为webservice使用xml作为传输数据格式,xml是可跨平台跨语言的。因此对于要支持不同语言的系统交互时可以使用webservice作为接口使用。

需要注意的,服务端接口方为webservice则客户端也必须使用webservice。

因为webservice使用xml传输数据,因此性能上不能满足高并发。

RESTful优缺点:

REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:"我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。" 如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。

REST本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准中的一些准则和约束。虽然REST本身受Web技术的影响很深, 但是理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例。 所以我们这里描述的REST也是通过HTTP实现的REST。

优点:

1.轻量,直接基于http,不再需要任何别的诸如消息协议。get/post/put/delete为CRUD操作

2.面向资源,一目了然,具有自解释性。

3.数据描述简单,一般以xml,json做数据交换。

4.无状态,在调用一个接口(访问、操作资源)的时候,可以不用考虑上下文,不用考虑当前状态,极大的降低了复杂度。

5.简单、低耦合

缺点:

1.对后端开发人员要求高,业务逻辑有时难以被抽象为资源的增删改查。

2.对前端开发人员不友好,API粒度较粗,难以查询符合特殊要求的数据,同样的业务要比普通的API需要更多次HTTP请求。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RESTful API是一种设计风格,用于构建可伸缩的Web服务。它基于HTTP协议,并遵循一组规范来定义资源和操作。 下面是RESTful API接口规范的要点: 1. 使用有意义的URI:URI是标识资源的唯一标识符。URI应该简洁、清晰,并且描述资源的层次结构。例如,使用"/users"来表示用户资源。 2. 使用HTTP方法进行操作:HTTP定义了一组常见的操作方法,如GET、POST、PUT和DELETE。这些方法与资源的CRUD操作相对应:获取资源、创建资源、更新资源和删除资源。 3. 使用HTTP状态码:HTTP状态码提供了关于请求处理结果的信息。常见的状态码有200(成功)、201(已创建)、400(请求无效)、404(未找到)和500(服务器错误)。在API设计中,正确使用状态码可以提供清晰的响应。 4. 使用资源表示形式(Representation):资源表示形式是以某种格式(如JSON、XML)呈现资源的方式。RESTful API通常使用JSON作为默认的资源表示形式,但也可以支持其他格式。 5. 使用版本控制:当API发生变化时,版本控制可以确保不会破坏现有客户端应用程序。可以通过在URI中添加版本号或使用自定义标头来实现版本控制。 6. 进行错误处理:对于错误情况,API应该返回适当的错误状态码和错误消息。可以使用HTTP状态码以及自定义错误代码来标识不同类型的错误。 7. 使用安全性措施:RESTful API应该使用适当的安全性措施,如身份验证、授权和加密,以保护数据和资源的安全性。 总结起来,RESTful API接口规范主要关注资源的唯一标识符、操作方法、状态码、资源表示形式、版本控制、错误处理和安全性措施。通过遵循这些规范,可以设计出易于理解、易于使用和易于扩展的Web API接口。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值