歡迎訪問新悅網(wǎng)絡(luò)設(shè)備有限公司
什么是 API?
API(即應用程序編程接口)是一組規(guī)則或協(xié)議,允許軟件應用程序相互通信以交換數(shù)據(jù)、特性和功能。
API 允許開發(fā)人員集成其他應用程序的數(shù)據(jù)、服務和功能,而不是從頭開始開發(fā),從而簡化了應用程序開發(fā)。API 還為應用程序所有者提供了一種簡單、安全的方式,使其組織內(nèi)的內(nèi)部部門可以使用其應用程序數(shù)據(jù)和功能。應用程序所有者還可以向業(yè)務合作伙伴或第三方共享或營銷該數(shù)據(jù)和功能。
API 的工作原理
了解 API 工作原理的一個簡單方法是查看一個常見示例——第三方支付處理。當用戶在電子商務網(wǎng)站上購買產(chǎn)品時,系統(tǒng)可能會提示他們“使用 Paypal 付款”或其他類型的第三方系統(tǒng)。此功能依賴 API 來建立連接。
當買家點擊付款按鈕時,API 會調(diào)用以檢索信息(也稱為請求)。此請求通過 API 的統(tǒng)一資源標識符 (URI) 從應用程序到 Web 服務器進行處理,包括請求動詞、標頭,有時還包括請求正文。
從產(chǎn)品網(wǎng)頁收到有效請求后,API 會調(diào)用外部程序或 Web 服務器,在本例中為第三方支付系統(tǒng)。
服務器向 API 發(fā)送包含所請求信息的響應。
API 將數(shù)據(jù)傳輸?shù)匠跏颊埱蟮膽贸绦?,此處為產(chǎn)品網(wǎng)站。
雖然數(shù)據(jù)傳輸會根據(jù)所使用的 Web 服務而有所不同,但請求和響應都是通過 API 發(fā)生的。用戶界面不可見,這意味著 API 在計算機或應用程序內(nèi)交換數(shù)據(jù),并在用戶看來是無縫連接。

API 類型
如今,大多數(shù) API 都是 Web API,它們通過互聯(lián)網(wǎng)公開應用程序的數(shù)據(jù)和功能。以下是 Web API 的四種主要類型:
開放 API是可以通過 HTTP 協(xié)議訪問的開源應用程序編程接口。也稱為公共 API,它們定義了 API 端點以及請求和響應格式。
合作伙伴 API 連接戰(zhàn)略業(yè)務合作伙伴。通常,開發(fā)人員通過公共API 開發(fā)人員門戶以自助服務模式訪問這些 API 。盡管如此,他們?nèi)匀恍枰瓿扇肼毩鞒滩@得登錄憑據(jù)才能訪問合作伙伴 API。
內(nèi)部 API 對外部用戶保持隱藏。這些私有 API 不適用于公司外部的用戶,而是旨在提高不同內(nèi)部開發(fā)團隊之間的生產(chǎn)力和溝通。
復合 API組合了多個數(shù)據(jù)或服務 API。它們允許程序員在一次調(diào)用中訪問多個端點。復合 API 在微服務架構(gòu)中非常有用,在微服務架構(gòu)中執(zhí)行單個任務可能需要來自多個來源的信息。
API協(xié)議
隨著 Web API 使用的增加,導致了某些協(xié)議的開發(fā)。這些協(xié)議為用戶提供了一組定義的規(guī)則或 API 規(guī)范,用于創(chuàng)建可接受的數(shù)據(jù)類型命令和語法。實際上,這些 API 協(xié)議促進了標準化信息交換。
- SOAP(簡單對象訪問協(xié)議): SOAP 使用 XML 構(gòu)建,使端點能夠通過 SMTP 和 HTTP 發(fā)送和接收數(shù)據(jù)。SOAP API 使在不同環(huán)境中運行或以不同語言編寫的應用程序或軟件組件之間共享信息變得更加容易。
- XML-RPC(XML-Remote procedure Call): XML-RPC協(xié)議依賴于特定的XML格式來傳輸數(shù)據(jù)。XML-RPC 比 SOAP 更古老,但簡單得多,并且相對輕量級,因為它使用最小的帶寬。
- JSON-RPC: 與 XML-RPC 一樣,JSON-RPC 是遠程過程調(diào)用,但使用 JSON(JavaScript 對象表示法)而不是 XML 來傳輸數(shù)據(jù)。
- REST(表述性狀態(tài)傳輸): REST 是一組 Web API 架構(gòu)原則。REST API(也稱為 RESTful API)是遵守某些 REST 架構(gòu)約束的 API。可以使用 SOAP 協(xié)議構(gòu)建 RESTful API,但這兩個標準通常被視為相互競爭的規(guī)范。
傳統(tǒng)上,API 是指連接到使用任何低級編程語言(例如 JavaScript)創(chuàng)建的應用程序的接口。然而,現(xiàn)代 API 遵循 REST 原則和 JSON 格式。它們通常是為 HTTP 構(gòu)建的,從而產(chǎn)生對開發(fā)人員友好的界面,這些界面很容易被用Java、Ruby、Python 和許多其他語言編寫的應用程序訪問和廣泛理解。

API相關(guān)技術(shù) API 與 Web 服務
Web 服務是一種可以通過網(wǎng)址訪問并促進數(shù)據(jù)傳輸?shù)能浖M件。由于 Web 服務將應用程序的數(shù)據(jù)和功能公開給其他應用程序,因此實際上每個 Web 服務都是一個 API。然而,并非每個 API 都是 Web 服務。
API 是充當兩個斷開連接的應用程序之間中介的任何軟件組件。雖然 Web 服務也連接應用程序,但它們需要網(wǎng)絡(luò)才能實現(xiàn)。有些 API 是開源的,而 Web 服務通常是私有的,只有經(jīng)過批準的合作伙伴才能訪問它們。
API、微服務和云原生開發(fā)
微服務是一種架構(gòu)風格,它將應用程序劃分為更小的獨立組件(也稱為微服務),并使用 REST API 連接。將應用程序構(gòu)建為一組單獨的服務,使開發(fā)人員能夠獨立于其他應用程序組件來工作,并使應用程序更易于測試、維護和擴展。
隨著云計算的興起,微服務架構(gòu)變得越來越普遍,它與容器 和 Kubernetes一起成為云原生應用程序開發(fā)的基礎(chǔ)。
- 07-21
- 07-21
- 07-14
- 07-14
- 07-07
- 07-07
- 06-23
- 06-23
最新內(nèi)容
- 04-14
- 02-17
- 11-11
- 10-21
- 09-23
- 08-02
- 07-24
- 07-18
知識庫
