天天看點

HTTP API 與Restful API 關系及差別

   在工作和面試中,經常遇到Restful API,到目前為止,我對Restful API都不太清楚,經過查詢有所了解,特總結如下,

什麼是REST?

可以總結為一句話:REST是所有Web應用都應該遵守的架構設計指導原則。

主要原則如下:

1. C/S模型,通過統一接口通訊

2. 階層化,可與多個伺服器通訊

3. 無狀态,伺服器不儲存客戶狀态,發送請求時需包含足夠資訊

4. Cache,C/S之間可使用緩存

5. 唯一資源辨別來辨別資源

6. 傳遞消息的自身描述

7. 傳回資源的自身描述

8. 可選的超媒體即應用狀态引擎(HATEOAS) 

Representational State Transfer,翻譯是”表現層狀态轉化”。  

面向資源是REST最明顯的特征,對于同一個資源的一組不同的操作。資源是伺服器上一個可命名的抽象概念,資源是以名詞為核心來組織的,首先關注的是名詞。REST要求,必須通過統一的接口來對資源執行各種操作。對于每個資源隻能執行一組有限的操作。(7個HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS)

什麼是RESTful API?

符合REST架構設計的API,是一種設計風格。

總結

符合REST設計标準的API,即Restful API。REST架構設計,遵循的各項标準和準則,就是HTTP協定的表現,換句話說,HTTP協定就是屬于REST架構的設計模式。比如,無狀态,請求-響應。。。,即HTTP API是Restful API的實作和表現,Restful API是HTTP API的基礎,提供了标準接口。



繼續閱讀