WebSerivce与WebAPI的区别

Posted ↖(^ω^)↗牛牛↖(^ω^)↗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebSerivce与WebAPI的区别相关的知识,希望对你有一定的参考价值。

一、什么是Web Service

Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。

它是基于SOAP协议的,数据格式是XML。

二、什么是Web API

Web API是网络应用程序接口。包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用。

它可以对接各种客户端(浏览器,移动设备),构建http服务的框架

三、Web Service与Web API的关系

1. Web Service用的是SOAP协议,Web API用的是HTTP协议

http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法

一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。

不同:都是底层的通信协议,请求包的格式不同而已,soap包是XML格式,http纯文本格式。

关系:SOAP是个通信协议, SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。

2.数据传输中 XML与Json

Json的优点:数据结构清晰,可读性比XML强,解析规则简单;轻量级,灵活,性能比XML高

Json的缺点:数据类型定义不明确,如:{"price":12580}在json里,你无法知道这个价格是int, float还是double。

XML的优点:功能强大,数据类型强大,对数据内容的描述准确,有了它,妈妈再也不用担心后端发来的数据格式不对了。

XML的缺点:过分臃肿,有时强大的功能并不是我们所需要的;解析规则多,对追求高开发速度和低开发门槛的企业来说,是个致命伤。

 

以上是关于WebSerivce与WebAPI的区别的主要内容,如果未能解决你的问题,请参考以下文章

WebService与WebApi的区别

java 注册过程 - android片段,Asp.net WebApi

WebService和Webapi的区别

RestFramework

Microsoft.AspNet.WebApi.OData 与 Microsoft.Data.OData 和 Microsoft.AspNet.OData 有啥区别?

apiroutes.post怎么获取参数