網絡應用編程接口(API)

應用程序編程接口(API)允許計算機程序員訪問已發布的軟件模塊和服務的功能。 API定義了數據結構和子程序調用,可用於擴展現有的具有新功能的應用程序,並在其他軟件組件之上構建全新的應用程序。 其中一些API特別支持網絡編程

網絡編程是一種針對通過包括因特網在內的計算機網絡進行連接和通信的應用程序的軟件開發。 網絡API提供協議和可重用軟件庫的入口點。 網絡API支持Web瀏覽器,Web數據庫和許多移動應用程序。 它們在許多不同的編程語言和操作系統中得到廣泛的支持。

套接字編程

傳統的網絡編程遵循客戶機 - 服務器模型。 用於客戶端 - 服務器網絡的主要API在內置於操作系統中的套接字庫中實現。 多年來, 伯克利套接字Windows套接字(Winsock) API是套接字編程的兩個主要標準。

遠程過程調用

RPC API通過增加應用程序在遠程設備上調用功能的能力來擴展基本的網絡編程技術,而不僅僅是向它們發送消息。 隨著萬維網(WWW)的蓬勃發展, XML-RPC成為RPC的一種流行機制。

簡單對象訪問協議(SOAP)

SOAP是在20世紀90年代後期開發的一種網絡協議,使用XML作為其消息格式,並使用超文本傳輸協議(HTTP)作為其傳輸。 SOAP產生了一個忠實的Web服務程序員,並被廣泛用於企業應用程序。

具象狀態傳輸(REST)

REST是另一種編程模型,它也支持最近到達的Web服務。 與SOAP類似,REST API使用HTTP,但REST應用程序通常選擇使用JavaScript Object Notation(JSON)代替XML。 REST和SOAP在其狀態管理和安全方法上有很大不同,這兩個方面都是網絡程序員的關鍵考慮因素。 移動應用程序可能會或可能不會使用網絡API,但通常會使用REST。

API的未來

SOAP和REST繼續積極地用於開發新的Web服務。 作為比SOAP更新穎的技術,REST更有可能演變並產生API開發的其他分支。

操作系統也發展到支持許多新的網絡API技術。 例如,在像Windows 10這樣的現代操作系統中,套接字仍然是核心API,HTTP和其他附加支持位於頂層,用於REST風格的網絡編程。

在計算機領域通常會出現這種情況,新技術往往比老技術過時得快得多。 尋找特別在雲計算物聯網(IoT)領域發生的有趣的新API發展,其中設備的特徵及其使用模型與傳統網絡編程環境有很大不同。