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 上托管。 |