REST:Representational State Transfer 的縮寫,翻譯:“具象狀態(tài)傳輸”。一般解釋為“表現(xiàn)層狀態(tài)轉(zhuǎn)換”。
REST 是設(shè)計(jì)風(fēng)格而不是標(biāo)準(zhǔn)。是指客戶端和服務(wù)器的交互形式。我們需要關(guān)注的重點(diǎn)是如何設(shè)計(jì) REST 風(fēng)格的網(wǎng)絡(luò)接口。
REST 的特點(diǎn):
(1) 具象的。一般指表現(xiàn)層,要表現(xiàn)的對(duì)象就是資源。比如,客戶端訪問服務(wù)器,獲取的數(shù)據(jù)就是資源。比如文字、圖片、音視頻等。
(2) 表現(xiàn):資源的表現(xiàn)形式。txt 格式、html 格式、json 格式、jpg 格式等。瀏覽器通過 URL 確定資源的位置,但是需要在 HTTP 請(qǐng)求頭中,用 Accept 和 Content-Type 字段指定,這兩個(gè)字段是對(duì)資源表現(xiàn)的描述。
(3) 狀態(tài)轉(zhuǎn)換:客戶端和服務(wù)器交互的過程。在這個(gè)過程中,一定會(huì)有數(shù)據(jù)和狀態(tài)的轉(zhuǎn)化,這種轉(zhuǎn)化叫做狀態(tài)轉(zhuǎn)換。其中,GET 表示獲取資源,POST 表示新建資源,PUT 表示更新資源,DELETE 表示刪除資源。HTTP 協(xié)議中最常用的就是這四種操作方式。
RESTful 架構(gòu):
(1) 每個(gè) URL 代表一種資源;
(2) 客戶端和服務(wù)器之間,傳遞這種資源的某種表現(xiàn)層;
(3) 客戶端通過四個(gè) http 動(dòng)詞,對(duì)服務(wù)器資源進(jìn)行操作,實(shí)現(xiàn)表現(xiàn)層狀態(tài)轉(zhuǎn)換。