Web 服务: Web服务是可以通过 Internet 访问并通过 XML 编码规范其对应关系的任何服务。客户通过发送请求(大多数情况下作为 XML 消息)来调用 Web 服务,然后服务发回 XML 响应。Web 服务通过网络调用通信,其中 HTTP 是两个框架之间最广泛认可的网络方法。Web 服务等同于 SOA(面向服务的体系结构)并且从根本上依赖于措施,例如 XML-RPC 和 SOAP(简单对象访问协议)。
组件:所有标准 Web 服务都使用以下组件工作。
- SOAP(简单对象访问协议)
- UDDI(通用描述、发现和集成)
- WSDL(网络服务描述语言)
Web API: API代表应用程序编程接口。它是各种程序用来在它们之间进行通信的通信约定和子例程的集合。开发人员可以利用不同的 API 设备来使其程序更简单、更简单。同样,API 鼓励开发人员使用熟练的方法来构建他们的产品程序。因此,简单来说,API 决定了编程段应该如何相互关联。它是一组协议和时间表,它的反应在数据中以 JSON 或 XML 的形式返回。API 可以利用任何类型的通信约定,并且不像 Web 服务那样受到限制。
Web 服务和 API 之间的区别:
网页服务 | 网络 API |
---|---|
Web 服务是一种 API,必须通过网络连接访问。 | API 是应用程序接口,意味着一个应用程序可以以标准化的方式与另一个应用程序进行通信。 |
Web 服务用于 REST、SOAP 和 XML-RPC 进行通信。 | API 用于任何形式的通信。 |
所有 Web 服务都是 API。 | API 不是 Web 服务。 |
它没有轻量级设计,需要一个 SOAP 约定来通过系统发送或接收数据。 | 此外,它具有轻量级架构,适用于智能手机等传输容量受限的小工具。 |
它仅提供对 HTTP 协议的支持。 | 它提供对 HTTP/s 协议的支持:URL Request/Response Headers 等等。 |
它不是开源的,但是,任何理解 xml 的客户都可以使用它。 | 它是一个开放源代码,还附带 .NET 框架。 |
Web 服务仅支持 XML。 | API 支持 XML 和 JSON。 |
Web 服务可以托管在 IIS 上。 | Web API 只能在 IIS 和 self 上托管。 |