歡迎訪問新悅網(wǎng)絡(luò)設(shè)備有限公司
什么是 API?
API(即應(yīng)用程序編程接口)是一組規(guī)則或協(xié)議,允許軟件應(yīng)用程序相互通信以交換數(shù)據(jù)、特性和功能。
API 允許開發(fā)人員集成其他應(yīng)用程序的數(shù)據(jù)、服務(wù)和功能,而不是從頭開始開發(fā),從而簡化了應(yīng)用程序開發(fā)。API 還為應(yīng)用程序所有者提供了一種簡單、安全的方式,使其組織內(nèi)的內(nèi)部部門可以使用其應(yīng)用程序數(shù)據(jù)和功能。應(yīng)用程序所有者還可以向業(yè)務(wù)合作伙伴或第三方共享或營銷該數(shù)據(jù)和功能。
API 的工作原理
了解 API 工作原理的一個(gè)簡單方法是查看一個(gè)常見示例——第三方支付處理。當(dāng)用戶在電子商務(wù)網(wǎng)站上購買產(chǎn)品時(shí),系統(tǒng)可能會(huì)提示他們“使用 Paypal 付款”或其他類型的第三方系統(tǒng)。此功能依賴 API 來建立連接。
當(dāng)買家點(diǎn)擊付款按鈕時(shí),API 會(huì)調(diào)用以檢索信息(也稱為請(qǐng)求)。此請(qǐng)求通過 API 的統(tǒng)一資源標(biāo)識(shí)符 (URI) 從應(yīng)用程序到 Web 服務(wù)器進(jìn)行處理,包括請(qǐng)求動(dòng)詞、標(biāo)頭,有時(shí)還包括請(qǐng)求正文。
從產(chǎn)品網(wǎng)頁收到有效請(qǐng)求后,API 會(huì)調(diào)用外部程序或 Web 服務(wù)器,在本例中為第三方支付系統(tǒng)。
服務(wù)器向 API 發(fā)送包含所請(qǐng)求信息的響應(yīng)。
API 將數(shù)據(jù)傳輸?shù)匠跏颊?qǐng)求的應(yīng)用程序,此處為產(chǎn)品網(wǎng)站。
雖然數(shù)據(jù)傳輸會(huì)根據(jù)所使用的 Web 服務(wù)而有所不同,但請(qǐng)求和響應(yīng)都是通過 API 發(fā)生的。用戶界面不可見,這意味著 API 在計(jì)算機(jī)或應(yīng)用程序內(nèi)交換數(shù)據(jù),并在用戶看來是無縫連接。
API 類型
如今,大多數(shù) API 都是 Web API,它們通過互聯(lián)網(wǎng)公開應(yīng)用程序的數(shù)據(jù)和功能。以下是 Web API 的四種主要類型:
開放 API是可以通過 HTTP 協(xié)議訪問的開源應(yīng)用程序編程接口。也稱為公共 API,它們定義了 API 端點(diǎn)以及請(qǐng)求和響應(yīng)格式。
合作伙伴 API 連接戰(zhàn)略業(yè)務(wù)合作伙伴。通常,開發(fā)人員通過公共API 開發(fā)人員門戶以自助服務(wù)模式訪問這些 API 。盡管如此,他們?nèi)匀恍枰瓿扇肼毩鞒滩@得登錄憑據(jù)才能訪問合作伙伴 API。
內(nèi)部 API 對(duì)外部用戶保持隱藏。這些私有 API 不適用于公司外部的用戶,而是旨在提高不同內(nèi)部開發(fā)團(tuán)隊(duì)之間的生產(chǎn)力和溝通。
復(fù)合 API組合了多個(gè)數(shù)據(jù)或服務(wù) API。它們?cè)试S程序員在一次調(diào)用中訪問多個(gè)端點(diǎn)。復(fù)合 API 在微服務(wù)架構(gòu)中非常有用,在微服務(wù)架構(gòu)中執(zhí)行單個(gè)任務(wù)可能需要來自多個(gè)來源的信息。
API協(xié)議
隨著 Web API 使用的增加,導(dǎo)致了某些協(xié)議的開發(fā)。這些協(xié)議為用戶提供了一組定義的規(guī)則或 API 規(guī)范,用于創(chuàng)建可接受的數(shù)據(jù)類型命令和語法。實(shí)際上,這些 API 協(xié)議促進(jìn)了標(biāo)準(zhǔn)化信息交換。
- SOAP(簡單對(duì)象訪問協(xié)議): SOAP 使用 XML 構(gòu)建,使端點(diǎn)能夠通過 SMTP 和 HTTP 發(fā)送和接收數(shù)據(jù)。SOAP API 使在不同環(huán)境中運(yùn)行或以不同語言編寫的應(yīng)用程序或軟件組件之間共享信息變得更加容易。
- XML-RPC(XML-Remote procedure Call): XML-RPC協(xié)議依賴于特定的XML格式來傳輸數(shù)據(jù)。XML-RPC 比 SOAP 更古老,但簡單得多,并且相對(duì)輕量級(jí),因?yàn)樗褂米钚〉膸挕?/span>
- JSON-RPC: 與 XML-RPC 一樣,JSON-RPC 是遠(yuǎn)程過程調(diào)用,但使用 JSON(JavaScript 對(duì)象表示法)而不是 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,但這兩個(gè)標(biāo)準(zhǔn)通常被視為相互競(jìng)爭的規(guī)范。
傳統(tǒng)上,API 是指連接到使用任何低級(jí)編程語言(例如 JavaScript)創(chuàng)建的應(yīng)用程序的接口。然而,現(xiàn)代 API 遵循 REST 原則和 JSON 格式。它們通常是為 HTTP 構(gòu)建的,從而產(chǎn)生對(duì)開發(fā)人員友好的界面,這些界面很容易被用Java、Ruby、Python 和許多其他語言編寫的應(yīng)用程序訪問和廣泛理解。
API相關(guān)技術(shù) API 與 Web 服務(wù)
Web 服務(wù)是一種可以通過網(wǎng)址訪問并促進(jìn)數(shù)據(jù)傳輸?shù)能浖M件。由于 Web 服務(wù)將應(yīng)用程序的數(shù)據(jù)和功能公開給其他應(yīng)用程序,因此實(shí)際上每個(gè) Web 服務(wù)都是一個(gè) API。然而,并非每個(gè) API 都是 Web 服務(wù)。
API 是充當(dāng)兩個(gè)斷開連接的應(yīng)用程序之間中介的任何軟件組件。雖然 Web 服務(wù)也連接應(yīng)用程序,但它們需要網(wǎng)絡(luò)才能實(shí)現(xiàn)。有些 API 是開源的,而 Web 服務(wù)通常是私有的,只有經(jīng)過批準(zhǔn)的合作伙伴才能訪問它們。
API、微服務(wù)和云原生開發(fā)
微服務(wù)是一種架構(gòu)風(fēng)格,它將應(yīng)用程序劃分為更小的獨(dú)立組件(也稱為微服務(wù)),并使用 REST API 連接。將應(yīng)用程序構(gòu)建為一組單獨(dú)的服務(wù),使開發(fā)人員能夠獨(dú)立于其他應(yīng)用程序組件來工作,并使應(yīng)用程序更易于測(cè)試、維護(hù)和擴(kuò)展。
隨著云計(jì)算的興起,微服務(wù)架構(gòu)變得越來越普遍,它與容器 和 Kubernetes一起成為云原生應(yīng)用程序開發(fā)的基礎(chǔ)。
- 04-28
- 04-28
- 04-27
- 04-27
- 04-27
- 04-17
- 04-17
- 04-17
最新內(nèi)容
- 04-14
- 02-17
- 11-11
- 10-21
- 09-23
- 08-02
- 07-24
- 07-18
知識(shí)庫