【理解RESTful架构】——阮一峰版
理解RESTful架構(gòu)
- 1.名稱
- 2.含義
- 3.總結(jié)
- 4.誤區(qū)
入門web,但是并沒有真正的學習過網(wǎng)絡基礎知識,對于RESTful并不是很了解
1.名稱
互聯(lián)網(wǎng)軟件的架構(gòu)原則,定名為REST,即Representational State Transfer的縮寫。翻譯是"表現(xiàn)層狀態(tài)轉(zhuǎn)化"。
2.含義
“表現(xiàn)層狀態(tài)轉(zhuǎn)換”,是資源的狀態(tài)轉(zhuǎn)換,是資源的表現(xiàn)層。
所謂的“資源”,就是網(wǎng)絡上的實體,或者說是網(wǎng)絡上的一個薪資信息。它可以是一個圖片、一段音樂、一種服務,總之就是一個具體的存在。我們用一個URL(統(tǒng)一資源定位符)指向它,每種資源都有一個特定的URL。我們想要獲取這個資源,只需要訪問它的URL即可。
所謂的“上網(wǎng)”,就是與互聯(lián)網(wǎng)上一系列的資源調(diào)動,調(diào)用其URL。
白話說就是,我們想要通過網(wǎng)絡獲取資源,就要給他標記一個URL,去訪問這個URL即可。也就是RESTful風格。
“資源"是一種信息實體,它可以有多種外在表現(xiàn)形式。我們把"資源"具體呈現(xiàn)出來的形式,叫做它的"表現(xiàn)層”(Representation)。
比如,文本可以用txt格式表現(xiàn),也可以用HTML格式、XML格式、JSON格式表現(xiàn),甚至可以采用二進制格式;圖片可以用JPG格式表現(xiàn),也可以用PNG格式表現(xiàn)。
URI只代表資源的實體,不代表它的形式。它的具體表現(xiàn)形式,應該在HTTP請求的頭信息中用Accept和Content-Type字段指定,這兩個字段才是對"表現(xiàn)層"的描述。
互聯(lián)網(wǎng)通信協(xié)議HTTP協(xié)議,是一個無狀態(tài)協(xié)議。這意味著,所有的狀態(tài)都保存在服務器端。
如何理解http是無狀態(tài)協(xié)議,簡單的說就是當客戶端向服務器請求文件的時候,服務器并不會保存客戶端的信息。比如,我們在幾秒之內(nèi)請求同一個文件,服務器不會因為第一次已經(jīng)給過客戶端了,就不在發(fā)送數(shù)據(jù)了,仍舊會向客戶端發(fā)送數(shù)據(jù)。
所以說發(fā)生狀態(tài)轉(zhuǎn)換以及狀態(tài)轉(zhuǎn)換的記錄都是發(fā)生在服務器上。
如果客戶端想要操作服務器,就必須通過某種形式,使得服務器發(fā)生“狀態(tài)轉(zhuǎn)換”。而這種轉(zhuǎn)換是表現(xiàn)層的轉(zhuǎn)換,也就是資源的轉(zhuǎn)換。
客戶端用到的手段,只能是HTTP協(xié)議。具體來說,就是HTTP協(xié)議里面,四個表示操作方式的動詞:GET、POST、PUT、DELETE。通過這四種方式來實現(xiàn)狀態(tài)轉(zhuǎn)換。
3.總結(jié)
綜合上面的解釋,我們總結(jié)一下什么是RESTful架構(gòu):
(1)每一個URI代表一種資源;
(2)客戶端和服務器之間,傳遞這種資源的某種表現(xiàn)層;
(3)客戶端通過四個HTTP動詞,對服務器端資源進行操作,實現(xiàn)"表現(xiàn)層狀態(tài)轉(zhuǎn)化"。
4.誤區(qū)
總結(jié)
以上是生活随笔為你收集整理的【理解RESTful架构】——阮一峰版的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 世纪互联发布2021年第一季度财报:营收
- 下一篇: 基石 GSCOOLINK GSV5010