1.面向資源是rest最明顯的特徵,即將伺服器上所有提供的事物都抽象成資源;而且每一種資源都是有狀態的。這裡引出了【資源及其狀態】的概念。
2.除了設計資源本身,還需設計資源之間的關聯關係,並且通過超連結(在表現層時)才將資源關聯起來。這裡引出了【超文字驅動】
3.伺服器的資源通過語義化的api及一組有限的操作向外暴露。這裡引出了【統一介面】,必須要提到這些統一介面是【無狀態(歸屬)】的。
4.伺服器的資源及狀態在表現層表現出來,通過操作資源的表述,來間接實現操作資源的目的。這裡引出了【資源的表述】和【狀態轉移】
**rest架構風格最重要的架構約束有6個:**
* 客戶-伺服器(client-server)
通訊只能由客戶端單方面發起,表現為請求-響應的形式。
* 無狀態(stateless)
通訊的會話狀態(session state)應該全部由客戶端負責維護。
* 快取(cache)
響應內容可以在通訊鏈的某處被快取,以改善網路效率。
* 統一介面(uniform inte***ce)
通訊鏈的元件之間通過統一的介面相互通訊,以提高互動的可見性。
* 分層系統(layered system)
通過限制元件的行為(即,每個元件只能「看到」與其互動的緊鄰層),將架構分解為若干等級的層。
* 按需**(code-on-demand,可選)
基本點:資源及其狀態、資源之間超文字驅動、統一介面、無狀態、資源表述及狀態轉移。
rest是通過架構約束和語義網建立起來的網路軟體系統,其中的
1)url應該關注資訊本身,而不能含有技術的資訊,所以url必須具有語義性;不管url請求的是什麼,統一看成無差別的資訊資源。
2)不應該過早的向客戶端承諾特定的資料形式,
3)api開發是restful+json 的無狀態介面開發。
理解RESTful架構
理解restful架構 restful的精闢理解 看url就知道要什麼 看http method就知道幹什麼 看http status code就知道結果如何 rest不是 rest 這個單詞,而是幾個單詞縮寫。但即使那幾個單詞說出來,也無法理解在說什麼 不是要貶低人,是我自己也理解困難 rest描...
理解RESTful架構
越來越多的人開始意識到,即軟體,而且是一種新型的軟體。這種 網際網路軟體 採用客戶端 伺服器模式,建立在分布式體系上,通過網際網路通訊,具有高延時 high latency 高併發等特點。開發,完全可以採用軟體開發的模式。但是傳統上,軟體和網路是兩個不同的領域,很少有交集 軟體開發主要針對單機環境,...
理解RESTful架構
越來越多的人開始意識到,即軟體,而且是一種新型的軟體。這種 網際網路軟體 採用客戶端 伺服器模式,建立在分布式體系上,通過網際網路通訊,具有高延時 high latency 高併發等特點。開發,完全可以採用軟體開發的模式。但是傳統上,軟體和網路是兩個不同的領域,很少有交集 軟體開發主要針對單機環境,...