售前電話
135-3656-7657
售前電話 : 135-3656-7657
API概念解釋 什么是API呢,這是每個(gè)人都在問的題題,好吧,也許沒有每個(gè)人。大家都在說API時(shí)代已經(jīng)來臨,API到底有什么用?API是應(yīng)用程序編程界面的首字母縮略詞,(Application Programming Interface)。它是一種軟件中介,允許兩個(gè)應(yīng)用程序相互交談。每次使用Facebook、百度APP等應(yīng)用、發(fā)送即時(shí)消息或檢查手機(jī)上的天氣時(shí),您都使用API。
不過教科書(百度百科)上API是這樣被解釋的:API,又稱應(yīng)用程序編程接口,就是軟件系統(tǒng)不同組成部分銜接的約定。目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問原碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。
當(dāng)您在手機(jī)上使用應(yīng)用程序時(shí),應(yīng)用程序會(huì)連接到互聯(lián)網(wǎng)并將數(shù)據(jù)發(fā)送到服務(wù)器。然后,服務(wù)器檢索該數(shù)據(jù)、解釋數(shù)據(jù)、執(zhí)行必要的操作并將其發(fā)送回您的手機(jī)。然后,應(yīng)用程序解釋這些數(shù)據(jù),并以可讀的方式向您提供您想要的信息。這就是API-所有這些都通過API發(fā)生。
為了更好地解釋這一點(diǎn),讓我們舉一個(gè)熟悉的例子。
但是,如果您沒有使用航空公司的網(wǎng)站(可直接訪問信息的渠道)怎么辦?如果您使用的在線旅行服務(wù)(如皮劃艇或Expedia)會(huì)聚合來自多個(gè)航空公司數(shù)據(jù)庫的信息,該怎么辦?
在這種情況下,旅行服務(wù)與航空公司的API進(jìn)行交互。API是一個(gè)界面,就像您樂于助人的服務(wù)員一樣,在線旅行服務(wù)可以要求該界面從航空公司的數(shù)據(jù)庫獲取信息,以預(yù)訂座位、行李選項(xiàng)等。然后,API將航空公司對您的請求的響應(yīng),并將其直接交付回在線旅行服務(wù),然后向您顯示更新最新的相關(guān)信息。
API 的工作原理
API 是一組定義的規(guī)則,用于解釋計(jì)算機(jī)或應(yīng)用程序如何相互通信。API 位于應(yīng)用程序和 Web 服務(wù)器之間,充當(dāng)處理系統(tǒng)之間數(shù)據(jù)傳輸?shù)闹虚g層。
以下是 API 的工作原理
客戶端應(yīng)用程序啟動(dòng) API 調(diào)用來檢索信息,也稱為請求。此請求通過 API 的統(tǒng)一資源標(biāo)識(shí)符 (URI) 從應(yīng)用程序處理到 Web 服務(wù)器,并包括請求謂詞、標(biāo)頭,有時(shí)還包括請求正文。
收到有效請求后,API 會(huì)調(diào)用外部程序或 Web 服務(wù)器。
服務(wù)器向 API 發(fā)送包含所請求信息的響應(yīng)。
API 將數(shù)據(jù)傳輸?shù)匠跏颊埱髴?yīng)用程序。
雖然數(shù)據(jù)傳輸將因所使用的Web服務(wù)而異,但此請求和響應(yīng)過程都通過API進(jìn)行。用戶界面是為人類使用而設(shè)計(jì)的,而 API 是為計(jì)算機(jī)或應(yīng)用程序而設(shè)計(jì)的。
API 在設(shè)計(jì)上提供了安全性,因?yàn)樗鼈冏鳛橹虚g人的地位有助于兩個(gè)系統(tǒng)之間的功能抽象 — API 端點(diǎn)將使用應(yīng)用程序與提供服務(wù)的基礎(chǔ)架構(gòu)分離。API 調(diào)用通常包含授權(quán)憑證以降低服務(wù)器受到攻擊的風(fēng)險(xiǎn),API 網(wǎng)關(guān)可以限制訪問以最大程度地減少安全威脅。此外,在交換期間,HTTP 標(biāo)頭、Cookie 或查詢字符串參數(shù)為數(shù)據(jù)提供了額外的安全層。
例如,考慮一個(gè)由支付處理服務(wù)提供的 API??蛻艨梢栽陔娮由虅?wù)商店應(yīng)用程序的前端輸入其卡詳細(xì)信息。支付處理器不需要訪問用戶的銀行帳戶;API 為此事務(wù)創(chuàng)建唯一的令牌,并將其包含在對服務(wù)器的 API 調(diào)用中。這可確保針對潛在黑客威脅的更高級(jí)別的安全性。
API提供的也是安全層