來(lái)源:派臣科技|時(shí)間:2020-07-27|瀏覽:次
應(yīng)用程序編程接口(api)可以看作是一組協(xié)議,它們?cè)趦蓚€(gè)獨(dú)立的應(yīng)用程序或機(jī)器之間創(chuàng)建對(duì)話。通過(guò)一個(gè)API,這兩個(gè)離散的源可以交換信息,通常以改進(jìn)各自的總體功能和價(jià)值的方式交換信息。
但是對(duì)于不熟悉api的人來(lái)說(shuō),它們看起來(lái)像是一種神秘的力量。api到底是什么?它們是如何工作的?在使用它們之前,你應(yīng)該了解它們什么?
api:高級(jí)概述
您可以將api看作是兩個(gè)應(yīng)用程序之間的網(wǎng)關(guān)或橋梁。API提供了一組指令和功能,它們?cè)谝欢ǔ潭壬溪?dú)立于這兩個(gè)應(yīng)用程序。通過(guò)這些指令和功能,API可以轉(zhuǎn)換信息、重新定義上下文并將其帶到新的位置。
你可以把API想象成酒保。你可能不知道你最喜歡的雞尾酒的所有成分,也不知道現(xiàn)存所有常見(jiàn)雞尾酒的名稱(chēng);從某種意義上說(shuō),工具條的功能就像一個(gè)應(yīng)用程序,而你的功能就像另一個(gè)。你想要一杯飲料,但你無(wú)法拿到柜臺(tái)后面的瓶子,也不知道如何把它們混合在一起。酒保就像一個(gè)中介,按照你的指示進(jìn)行加工,然后給你調(diào)配出合適的酒。
這是一個(gè)簡(jiǎn)單的比喻,但它對(duì)基本的解釋起作用。
api的優(yōu)缺點(diǎn)
api之所以經(jīng)常被使用,部分原因是它們沒(méi)有太多固有的弱點(diǎn)。在應(yīng)用程序系統(tǒng)中引入API幾乎沒(méi)有什么壞處。但是,需要記住一個(gè)重要的考慮因素:API通常會(huì)引入安全漏洞,因此如果您希望保持應(yīng)用程序的安全性,就需要仔細(xì)考慮API安全性。
這是因?yàn)閍pi充當(dāng)兩個(gè)不同應(yīng)用程序之間的門(mén)戶(hù)。API打開(kāi)了進(jìn)入基礎(chǔ)設(shè)施的門(mén)戶(hù)。如果傳入的流量沒(méi)有被適當(dāng)?shù)貦z查和刪除,黑客可以滲透你的網(wǎng)絡(luò)并造成潛在的嚴(yán)重破壞。此外,API有時(shí)會(huì)引入新的漏洞,黑客可以利用這些漏洞來(lái)訪問(wèn)正在交換的信息。通過(guò)正確的API安全實(shí)踐,這些弱點(diǎn)是可以克服的,但并不是所有的企業(yè)都在努力做到這一點(diǎn)。
與這一弱點(diǎn)形成鮮明對(duì)比的是,api有許多明顯的優(yōu)勢(shì),包括:
-抽象和簡(jiǎn)化。取決于你如何使用它,一個(gè)API可以作為一種轉(zhuǎn)換器;它獲取你通常無(wú)法理解的信息,并將其簡(jiǎn)化為你能理解的形式。通過(guò)這種方式,API的工作是獲取復(fù)雜的信息并將其抽象或解析到足以在新應(yīng)用程序中使用。
-快捷方式和發(fā)展速度。如果你希望讓兩個(gè)應(yīng)用一起工作,或者你想要構(gòu)建一些復(fù)雜的東西,api可以作為一種捷徑,導(dǎo)致更快的開(kāi)發(fā)周期。你不必一行一行地編寫(xiě)代碼,來(lái)了解兩個(gè)應(yīng)用如何協(xié)同工作,你可以利用API來(lái)為你完成工作;與從頭開(kāi)始編寫(xiě)整個(gè)應(yīng)用程序不同,您通常只需要幾行額外的代碼。
——普遍可用性。在許多情況下,api是免費(fèi)提供給給定應(yīng)用程序的用戶(hù)群的。這樣,用戶(hù)可以負(fù)責(zé)開(kāi)發(fā)他們自己的定制和與其他應(yīng)用程序集成。在大多數(shù)情況下,這也會(huì)導(dǎo)致創(chuàng)造力的爆發(fā);有了API,開(kāi)發(fā)人員可以對(duì)現(xiàn)有的應(yīng)用程序做什么就沒(méi)有限制。
——Updatability。盡管這種強(qiáng)度取決于API接受的支持,但大多數(shù)API都可以定期更新。開(kāi)發(fā)人員可以發(fā)布漏洞補(bǔ)丁,或者升級(jí)API以反映核心應(yīng)用程序的新功能。有時(shí),管理多個(gè)版本和新更新可能會(huì)很耗時(shí)或煩人,但最終會(huì)帶來(lái)更高的安全性和更多的功能。
可用的api類(lèi)型
api的另一個(gè)優(yōu)點(diǎn)是幾乎可以用于任何類(lèi)型的應(yīng)用程序。最常見(jiàn)的用途是允許一個(gè)API從一個(gè)數(shù)據(jù)源拉出數(shù)據(jù),并使其可用于另一個(gè)數(shù)據(jù)源;例如,您可以使用API來(lái)自動(dòng)更新一個(gè)應(yīng)用程序的新數(shù)據(jù)從另一個(gè)應(yīng)用程序,實(shí)時(shí)監(jiān)控變化。api還可以用各種不同的語(yǔ)言編程,比如Python和Java,并且有成千上萬(wàn)的公共api可用。
幾十年來(lái),api一直是一個(gè)重要的開(kāi)發(fā)工具,隨著我們看到越來(lái)越多的應(yīng)用程序可供公眾使用,它的重要性只會(huì)越來(lái)越大。通過(guò)api,我們可以定制否則不可能實(shí)現(xiàn)的功能和集成。