什么是API?(應用程序編程接口)
API是應用程序編程接口的縮寫,它是一個軟件中介,可以實現兩個應用程序間的相互對話。當你使用類似微博或騰訊QQ發送即時信息或在手機上查看天氣時,API都起到了重要作用。
API的示例有哪些?
當你在手機上啟動應用程序時,該應用程序會連接到因特網並向服務器發送數據。然后,服務器檢索這些數據,對其進行解釋,執行必要的操作后將其發送回您的手機。再后來,應用程序會解釋這些數據,並向您呈現出可讀信息。所有這些都是有API的參與。
我們舉一個大家都熟悉的例子來進一步解釋API。
想象這樣一個場景,當你來到一家餐館,拿起菜單進行點餐時,首先看到的是菜單上羅列的眾多菜品信息,廚房將是你點餐“系統”的一部分,但其中的關鍵環節是如何將點菜的信息傳達至廚房,並將食物送到餐桌上,這個時候服務員就起到作用了,服務員就是一個信使(API),他接收你的點菜信息,並告訴廚房(系統)該做什么,在這種情況下,服務員以“食物”作為信息反饋。
為了進一步加深大家對API的理解,我們再舉一個實際生活中的例子。你可能對在線搜索航班的過程很熟悉。就像在餐館點餐一樣,這其中也有很多種選擇,包括往返城市,往返航班時間等。假設你正在預訂航空公司網站上的航班,你可以選擇往返出發的城市和時間、客艙等級以及其他服務。為了准確預訂航班,你可以預覽查詢航空公司網站,訪問他們的數據庫,看一看在你出發的時間是否有空位,以及機票費用信息。
不過,如果你不想在航空公司的網站上查詢信息,還有沒有其他可以直接訪問航空信息的渠道呢?攜程、去哪兒等在線旅游服務平台就是獲取航班信息的另一種渠道,因為這些平台整合了來自多個航空公司數據庫的信息。
在這個例子中,在線旅游服務平台與航空公司網站的API是相聯系的。API就是一個接口,與餐館服務員的作用一樣。另外,在線旅游服務平台可以要求從航空公司網站的數據庫中調取航班信息,以便用戶預訂座位、行李選項等。API在獲取航空公司網站對用戶請求的反饋之后,就會將相關信息發送回在線旅游服務平台,最終在線旅游服務平台上顯示的信息就是用戶所需要的最新航班信息。
什么是API的入參和出參?
我們再舉另外一個例子——在線訂購外賣。首先我們需要在應用程序(APP、小程序等)內告訴店家我想吃什么(我們所做的每一項選擇就是一個個的API入參),店家也會告訴我們需要花費多少錢、大約要等多久(API返回系統計算的出參),最后我們才能得到想要的外賣。
關於API的安全性
我們在使用手機的時候,手機內的數據(比如你的通訊錄)在沒有授權的情況下,是不會暴露給手機應用的服務器。同樣道理,服務器也不會在未經你的許可的情況下將數據提供給你的手機。這類安全機制都是在程序開發初期就人為預設好的,可不幸的是,我們也聽說過一些竊取用戶隱私信息的應用程序。希望隨着人們對個人信息安全保護意識的加強以及網絡安全法的不斷完善,將來能實現真正意義上的用戶授權體系,而不是默認(不反抗)即同意。