Web 服務(wù):?Web服務(wù)是可以通過(guò) Internet 訪問(wèn)并通過(guò) XML 編碼規(guī)范其對(duì)應(yīng)關(guān)系的任何服務(wù)??蛻?hù)通過(guò)發(fā)送請(qǐng)求(大多數(shù)情況下作為 XML 消息)來(lái)調(diào)用 Web 服務(wù),然后服務(wù)發(fā)回 XML 響應(yīng)。Web 服務(wù)通過(guò)網(wǎng)絡(luò)調(diào)用通信,其中 HTTP 是兩個(gè)框架之間最廣泛認(rèn)可的網(wǎng)絡(luò)方法。Web 服務(wù)等同于 SOA(面向服務(wù)的體系結(jié)構(gòu))并且從根本上依賴(lài)于措施,例如 XML-RPC 和 SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)。

組件:所有標(biāo)準(zhǔn) Web 服務(wù)都使用以下組件工作。
- SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)
- UDDI(通用描述、發(fā)現(xiàn)和集成)
- WSDL(網(wǎng)絡(luò)服務(wù)描述語(yǔ)言)
Web API:?API代表應(yīng)用程序編程接口。它是各種程序用來(lái)在它們之間進(jìn)行通信的通信約定和子例程的集合。開(kāi)發(fā)人員可以利用不同的 API 設(shè)備來(lái)使其程序更簡(jiǎn)單、更簡(jiǎn)單。同樣,API 鼓勵(lì)開(kāi)發(fā)人員使用熟練的方法來(lái)構(gòu)建他們的產(chǎn)品程序。因此,簡(jiǎn)單來(lái)說(shuō),API 決定了編程段應(yīng)該如何相互關(guān)聯(lián)。它是一組協(xié)議和時(shí)間表,它的反應(yīng)在數(shù)據(jù)中以 JSON 或 XML 的形式返回。API 可以利用任何類(lèi)型的通信約定,并且不像 Web 服務(wù)那樣受到限制。
Web 服務(wù)和 API 之間的區(qū)別:
| 網(wǎng)頁(yè)服務(wù) | 網(wǎng)絡(luò) API |
|---|---|
| Web 服務(wù)是一種 API,必須通過(guò)網(wǎng)絡(luò)連接訪問(wèn)。 | API 是應(yīng)用程序接口,意味著一個(gè)應(yīng)用程序可以以標(biāo)準(zhǔn)化的方式與另一個(gè)應(yīng)用程序進(jìn)行通信。 |
| Web 服務(wù)用于 REST、SOAP 和 XML-RPC 進(jìn)行通信。 | API 用于任何形式的通信。 |
| 所有 Web 服務(wù)都是 API。 | API 不是 Web 服務(wù)。 |
| 它沒(méi)有輕量級(jí)設(shè)計(jì),需要一個(gè) SOAP 約定來(lái)通過(guò)系統(tǒng)發(fā)送或接收數(shù)據(jù)。 | 此外,它具有輕量級(jí)架構(gòu),適用于智能手機(jī)等傳輸容量受限的小工具。 |
| 它僅提供對(duì) HTTP 協(xié)議的支持。 | 它提供對(duì) HTTP/s 協(xié)議的支持:URL Request/Response Headers 等等。 |
| 它不是開(kāi)源的,但是,任何理解 xml 的客戶(hù)都可以使用它。 | 它是一個(gè)開(kāi)放源代碼,還附帶 .NET 框架。 |
| Web 服務(wù)僅支持 XML。 | API 支持 XML 和 JSON。 |
| Web 服務(wù)可以托管在 IIS 上。 | Web API 只能在 IIS 和 self 上托管。 |














