回覆列表
-
1 # 豌豆上的主公
-
2 # 網路圈
隨著這幾年微服務概念的興起,另一個名詞出現在了我們面前,那就是RESTful。而現在很多第三方開放平臺的API都是RESTful風格的API,而作為開發人員也經常聽人說起RESTful,但很多人並不清楚什麼是RESTful。
先說說RESTREST這個名詞請一定要全部大寫,它可不是我們英文中所說的Rest!REST這個概念是在2010年提出的,是HTTP協議的一位主要設計者的提出的 Representational State Transfer (表現層狀態轉化)思想。REST概念的提出者認為改變應用的互動風格比改變互動協議對整體表現有更大的影響,這就稱之為表現層狀態轉化,即REST。
請注意,REST它只是一種架構思想!
有了REST才有了RESTful如果一個架構符合REST原則(思想),我們就稱之為是RESTful架構風格。請注意,RESTful不是協議!不是協議!RESTful它只是一種架構設計風格,嚴格意義上說也不能稱為是規範,因為RESTful本身就沒有明確的規範,只要是符合REST思想的架構風格都可以稱之為是RESTful。
RESTful的本質上面說到了,REST代表的就是表現層狀態轉化,這個“表現層”狀態該如何轉化呢?RESTful本質上是基於HTTP的,以不同的HTTP動詞來訪問資源,再以Json物件返回結果。重點來了,我們以不同的HTTP動詞來代表不同的操作型別,如:GET(請求)、POST(建立)、PUT(更新)、DELETE(刪除),所以表現層的狀態轉化實質上靠的是HTTP動詞來實現的。
RESTful API呼叫和以前傳統的WEB API呼叫模式一樣,只不過以前的WEB API呼叫方法基本上只有兩種:GET、POST。
一種軟體架構風格、設計風格,而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和伺服器互動類的軟體。基於這個風格設計的軟體可以更簡潔,更有層次,更易於實現快取等機制。
1. REST描述的是在網路中client和server的一種互動形式;REST本身不實用,實用的是如何設計 RESTful API(REST風格的網路介面);
2. Server提供的RESTful API中,URL中只使用名詞來指定資源,原則上不使用動詞。“資源”是REST架構或者說整個網路處理的核心。