RESTFul架構學習筆記

一、名稱

REST:即Representational State Transfer(表現層狀態轉化——資源的表現層狀態轉化)。

REST是一種互聯網軟件的架構原則。如果一個架構符合REST原則,就稱它爲RESTful架構。

二、資源(Resources)

REST(表現層狀態轉化):“表現層”即“資源(Resources)”的“表現層”。

所謂“資源”,就是網絡上的一個實體,或者說是網絡上的一個具體信息。它可以是一段文本、一張圖片、一首歌曲、一種服務,總之就是一個具體的存在。你可以用一個URI(統一資源定位符)指向它,每個資源對應一個特定的URI。要獲取這個資源,訪問它的URI即可,因此URI即是每個資源的地址或獨一無二的標識符。

所謂“上網”:就是與互聯網上一系列的“資源”互動,調用它的URI

三、表現層(Representation)

“資源”是一種信息實體,它可以有多種外在表現形式。我們把“資源”具體呈現出來的形式,叫做它的“表現層”(Representation)

比如,文本可以用txt格式表現,也可以用HTML、XML、JSON、甚至採用二進制格式表現;圖片可以用JPG也可用PNG格式表現。

URI只代表“資源”的位置,它的具體表現形式,應該在HTTP請求的頭信息中用AcceptContent-Type字段指定,這兩個字段纔是對“表現層”的描述。

四、狀態轉化(State Transfer)

訪問一個網站,就代表了客戶端和服務器的一個互動過程。在這個過程中,勢必涉及到數據和狀態的變化。

互聯網通信協議HTTP協議,是一個無狀態協議。這意味着,所有的狀態都保存在服務端。因此,若客戶端想要操作服務器,必須通過某種手段,讓服務端發生“狀態轉化(State Transfer)”。而這種轉化是建立在表現層之上的,所以就是“表現層狀態轉化”

客戶端用到的手段,只能是HTTP協議。具體就是HTTP協議裏面,四個表示操作方式的動詞:GET(獲取資源)、POST(新建或更新資源)、PUT(更新資源)、DELETE(刪除資源)。

五、總結

綜合上面的解釋,總結下什麼是RESTful架構

  1. 每個URI代表一個資源;

  2. 客戶端和服務器之間,傳遞這種資源的某種表現層;

  3. 客戶端通過四個HTTP動詞,對服務器資源進行操作,實現“表現層狀態轉化”。


本文來自網絡博客的學習,原諒我竟然忘記了出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章