回覆列表
-
1 # 科技知乎君
-
2 # 網路圈
現在很多軟體應用上的某些功能模組不可避免的要呼叫API來獲取資料,而我們常說的API其實就是指介面,可以由不同的程式語言開發將業務及服務封裝起來供第三方呼叫。總體上來說,API型別可分為這幾類:HTTP型別API、RPC、Web Services。
什麼是Web API ?通俗的說,Web API代表了此API是以Web形式部署及訪問的,像我們常用的RESTful API就屬於Web API,它本質上是基於HTTP協議的。
其實可以這樣理解:Web API的介面地址其實就是一個URL。
Web API的優點現在的API絕大多數都是以Web API這種形式提供的,因為不同的程式語言存在差異,但對於HTTP協議支援都是很好的,所以Web API在不同程式語言上都可以很便捷的呼叫,它是輕量級的。
Web API的最佳實踐 - RESTful正因為Web API本質上是基於HTTP協議的,所以任何一種Web服務都可以作為API形式來提供服務,雖說它是輕量快捷的,但是帶來的問題就是不夠規範!
所以發展到一定程度,RESTful概念應運而生。RESTful它不是一個協議,嚴格意義上也不能稱之為規範(因為沒有明確的定義細節規範),更嚴謹的說它是一種風格上的約定,我們把只要滿足特定格式的Web API都可以稱之為RESTful風格的API。
什麼是RESTful風格的API呢?
如果一個Web API滿足了這幾點特定,我們就可以稱之為是RESTful風格的API:
以Json物件形式返回資料;
良好的URL格式:唯一的資源(URL)標識、資源的自描述性(語義性)。
一、為什麼是Web API?
Web API是網路應用程式介面。包含了廣泛的功能,網路應用透過API介面,可以實現儲存服務、訊息服務、計算服務等能力,利用這些能力可以進行開發出強大功能的web應用。
二、web平臺歸為7個基本設施,其間的線索是這些產品都提供了API,分別是:
1)儲存服務:儲存服務關注抽象化和虛擬化儲存。
2)openemy服務:它提供了類似於檔案系統介面的api,但增加了給檔案標籤的能力。
3)訊息服務:訊息服務在概念上類似於傳統意義上的中介軟體。
4)計算服務:目前還沒有一個一般的可以透過api訪問的web計算服務黑盒,但有不少技術指向這個方向。
5)資訊服務:資訊服務提供海量特定的資訊。
6)搜尋服務:因為搜尋在web領域的基礎和統治地位,搜尋服務構成了新的web基礎架構的關鍵部分。
7)web2.0服務:最後一類寬泛的叫它們web2.0服務。