Q
什么WebApi?
A: WebApi是一种用来开发系统间接口、设备接口API的技术,基于Http协议,请求和返回格式结果默认是json格式。比WCF更简单、更通用,比WebService更节省流量、更简洁。
Q
什么是WebService?
A: Web Service是一个平台独立的、耦合的、自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。Web Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。
序号 | WebApi | WebService |
---|---|---|
1 | 无状态,开源,部署在IIS和应用程序上 | 有状态,不开源,只能部署在IIS上 |
2 | 基于HTTP协议,数据格式为纯文本,Response可以被Web API的MediaTypeFormatter转换成任何格式,常用Json格式 | 基于Soap协议,只支持HTTP协议,数据格式为XML |
3 | 类似于cs架构,用的协议和端口,是根据开发人员定义的。需要同时开发客户端API和服务器端程序 | 类似于bs架构,只需要开发服务器端,不需要开发客户端,客户端只要遵循soap协议,就可以调用 |
4 | 基于HTTP构建的一个轻量级框架。非常适合移动端客户端服务 | |
5 | 客户端系统(调用者)和服务系统(提供者)彼此独立,调用者可以轻易地使用不同的语言(Java,Python,Ruby等)进行API的调用。 | 通常仅在两个系统之间交互,几乎总是依赖于类似XML-RPC的接口来相互通信,并且不同的客户端下各浏览器对XML的解析方式不一致,需要重复编写很多代码 |
6 | 适合为应用到应用的场景提供服务(如C/S) | 适合为端到端的场景提供服务(如B/S) |