RESTful架構(gòu)

REST——互聯(lián)網(wǎng)軟件的架構(gòu)原則

Repressentational?? State? Transfer(資源——表現(xiàn)層狀態(tài)轉(zhuǎn)化)

1.資源(resources)

所謂"資源",就是網(wǎng)絡(luò)上的一個實體,或者說是網(wǎng)絡(luò)上的一個具體信息。它可以是一段文本、一張圖片、一首歌曲、一種服務(wù),總之就是一個具體的實在。你可以用一個URI(統(tǒng)一資源定位符)指向它,每種資源對應(yīng)一個特定的URI。要獲取這個資源,訪問它的URI就可以,因此URI就成了每一個資源的地址或獨一無二的識別符。

所謂"上網(wǎng)",就是與互聯(lián)網(wǎng)上一系列的"資源"互動,調(diào)用它的URI。

2.表現(xiàn)層(Repressentational)

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

比如,用txt格式表現(xiàn)文本,用json格式表現(xiàn)二進(jìn)制等

而URI應(yīng)該只代表"資源"的位置。它的具體表現(xiàn)形式,應(yīng)該在HTTP請求的頭信息中用Accept和Content-Type字段指定,這兩個字段才是對"表現(xiàn)層"的描述。

3.狀態(tài)轉(zhuǎn)化(State? Transfer)

互聯(lián)網(wǎng)通信協(xié)議HTTP協(xié)議,是一個無狀態(tài)協(xié)議。這意味著,所有的狀態(tài)都保存在服務(wù)器端。因此,如果客戶端想要操作服務(wù)器,必須通過某種手段,讓服務(wù)器端發(fā)生"狀態(tài)轉(zhuǎn)化"(State Transfer)。而這種轉(zhuǎn)化是建立在表現(xiàn)層之上的,所以就是"表現(xiàn)層狀態(tài)轉(zhuǎn)化"。

客戶端用到的手段,只能是HTTP協(xié)議。具體來說,就是HTTP協(xié)議里面,四個表示操作方式的動詞:GET、POST、PUT、DELETE。它們分別對應(yīng)四種基本操作:GET用來獲取資源,POST用來新建資源(也可以用于更新資源),PUT用來更新資源,DELETE用來刪除資源。


綜述:

綜合上面的解釋,我們總結(jié)一下什么是RESTful架構(gòu):

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

(2)客戶端和服務(wù)器之間,傳遞這種資源的某種表現(xiàn)層;

(3)客戶端通過四個HTTP動詞,對服務(wù)器端資源進(jìn)行操作,實現(xiàn)"表現(xiàn)層狀態(tài)轉(zhuǎn)化"。



本文源自http://www.ruanyifeng.com/blog/2011/09/restful.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 越來越多的人開始意識到,網(wǎng)站即軟件,而且是一種新型的軟件。 這種"互聯(lián)網(wǎng)軟件"采用客戶端/服務(wù)器模式,建立在分布式...
    產(chǎn)碼Shelby閱讀 330評論 0 0
  • 《轉(zhuǎn)》,非原創(chuàng) 越來越多的人開始意識到,網(wǎng)站即軟件,而且是一種新型的軟件。 這種"互聯(lián)網(wǎng)軟件"采用客戶端/服務(wù)器模...
    原軍鋒閱讀 328評論 0 0
  • 作者: 阮一峰日期: 2011年9月12日 越來越多的人開始意識到,網(wǎng)站即軟件,而且是一種新型的軟件。這種"互聯(lián)網(wǎng)...
    抓兔子的貓閱讀 344評論 0 4
  • 越來越多的人開始意識到,網(wǎng)站即軟件,而且是一種新型的軟件。這種"互聯(lián)網(wǎng)軟件"采用客戶端/服務(wù)器模式,建立在分布式體...
    你清澈又神秘閱讀 190評論 0 1
  • 理解RESTful架構(gòu) 轉(zhuǎn)載:http://www.ruanyifeng.com/blog/2011/09/res...
    小小少年Boy閱讀 252評論 0 0

友情鏈接更多精彩內(nèi)容