溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

RESTFul架構(gòu)學(xué)習(xí)筆記

發(fā)布時(shí)間:2020-07-26 22:14:44 來(lái)源:網(wǎng)絡(luò) 閱讀:443 作者:追逐779 欄目:開(kāi)發(fā)技術(shù)

一、名稱

REST:即Representational State Transfer(表現(xiàn)層狀態(tài)轉(zhuǎn)化——資源的表現(xiàn)層狀態(tài)轉(zhuǎn)化)。

REST是一種互聯(lián)網(wǎng)軟件的架構(gòu)原則。如果一個(gè)架構(gòu)符合REST原則,就稱它為RESTful架構(gòu)。

二、資源(Resources)

REST(表現(xiàn)層狀態(tài)轉(zhuǎn)化):“表現(xiàn)層”即“資源(Resources)”的“表現(xiàn)層”。

所謂“資源”,就是網(wǎng)絡(luò)上的一個(gè)實(shí)體,或者說(shuō)是網(wǎng)絡(luò)上的一個(gè)具體信息。它可以是一段文本、一張圖片、一首歌曲、一種服務(wù),總之就是一個(gè)具體的存在。你可以用一個(gè)URI(統(tǒng)一資源定位符)指向它,每個(gè)資源對(duì)應(yīng)一個(gè)特定的URI。要獲取這個(gè)資源,訪問(wèn)它的URI即可,因此URI即是每個(gè)資源的地址或獨(dú)一無(wú)二的標(biāo)識(shí)符。

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

三、表現(xiàn)層(Representation)

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

比如,文本可以用txt格式表現(xiàn),也可以用HTML、XML、JSON、甚至采用二進(jìn)制格式表現(xiàn);圖片可以用JPG也可用PNG格式表現(xiàn)。

URI只代表“資源”的位置,它的具體表現(xiàn)形式,應(yīng)該在HTTP請(qǐng)求的頭信息中用AcceptContent-Type字段指定,這兩個(gè)字段才是對(duì)“表現(xiàn)層”的描述。

四、狀態(tài)轉(zhuǎn)化(State Transfer)

訪問(wèn)一個(gè)網(wǎng)站,就代表了客戶端和服務(wù)器的一個(gè)互動(dòng)過(guò)程。在這個(gè)過(guò)程中,勢(shì)必涉及到數(shù)據(jù)和狀態(tài)的變化。

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

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

五、總結(jié)

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

  1. 每個(gè)URI代表一個(gè)資源;

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

  3. 客戶端通過(guò)四個(gè)HTTP動(dòng)詞,對(duì)服務(wù)器資源進(jìn)行操作,實(shí)現(xiàn)“表現(xiàn)層狀態(tài)轉(zhuǎn)化”。


本文來(lái)自網(wǎng)絡(luò)博客的學(xué)習(xí),原諒我竟然忘記了出處。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI