Restful架構

REST即“Representational State Transfer”的縮寫,“表現層狀態轉化”,如果一個架構符合REST原則,那他就是RESTFull架構。要理解RESTFull架構,最好的方法就是理解“Representational State Transfer”,它每個詞代表什麼含義。如果把這個名稱搞懂了,也就不難理解REST的含義了。

 (一)資源

  REST的“表現層狀態轉化”中省略了主語,表現層其實指的是資源的表現層,所謂資源,就是網絡上的一個實體,或者說網絡上的一個具體信息,你可以用一個URI指向他,每個資源對應一個特定的URI,要獲取一個資源,訪問他的URI就可以了。所謂上網,就是網上一系列的資源互動,訪問他的URI。

 (二)表現層(Representation)

  資源是一種實體信息,他可以有多種表現形式,我們把資源具體呈現出來的形式,叫做他的表現層。比如,文本文件可以以txt格式表現,也可以是HTML、XML甚至二進制形式表現。URI只代表資源的實體,不代表他的表現。嚴格來說,有些網站最後的.HTML是不必要的,因爲這個後綴名錶示格式,屬於表現層範疇,而RUI應該只代表資源的位置。他的具體表現形式應該在HTTP請求的頭信息中用accept和content-type中指定,這兩個字段纔是對錶現層的描述。

 (三)狀態轉化

  訪問一個網站,就代表了一個客戶端和服務器的一個互動過程,在這個過程中,勢必涉及到數據和狀態的變化。HTTP協議是一個無狀態協議,這意味着所有狀態都保存在服務器,因此,如果客戶端想要操作服務器,必須通過某種手段,讓服務器方式狀態轉化,而這種轉化是建立在表現層上的,因此稱之爲“表現層狀態轉化”。

  客戶端使用的手段,只能是HTTP協議,具體來說,就是HTTP協議裏面,四個表示操作方式的動詞,GET、POST、PUT、DELETE,他們分別對應四中基本操作,GET用來獲取資源,POST用來新建資源(也可以用於更新資源),PUT用來更新資源,DELETE用來刪除資源。

 綜述:

綜合上面所述,總結一下什麼事RESTFull架構

  (1)每個URI代表一種資源

  (2)客戶端和服務器之間傳遞這種資源的表現層

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



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