1. 程式人生 > >rest,restFul解析

rest,restFul解析

名稱

rest即Representational State Transfer,表現層狀態轉化,如果一個架構符合REST原則,就稱它為RESTful架構。

資源(Resources)

–REST的名稱”表現層狀態轉化”中,省略了主語。”表現層”其實指的是”資源”(Resources)的”表現層”。
–可以用一個URI(統一資源定位符)指向資源,每種資源對應一個特定的URI。所謂”上網”,就是與網際網路上一系列的”資源”互動,呼叫它的URI。

表現層(Representation)

–”資源”是一種資訊實體,它可以有多種外在表現形式。我們把”資源”具體呈現出來的形式,叫做它的”表現層”(Representation)。
–比如,文字可以用txt格式表現,也可以用HTML格式、XML格式、JSON格式表現,甚至可以採用二進位制格式;圖片可以用JPG格式表現,也可以用PNG格式表現。
–URI只代表資源的實體,不代表它的形式。嚴格地說,有些網址最後的”.html”字尾名是不必要的,因為這個字尾名錶示格式,屬於”表現層”範疇,而URI應該只代表”資源”的位置。它的具體表現形式,應該在HTTP請求的頭資訊中用Accept和Content-Type欄位指定,這兩個欄位才是對”表現層”的描述。

狀態轉化(State Transfer)

–訪問一個網站,就代表了客戶端和伺服器的一個互動過程。在這個過程中,勢必涉及到資料和狀態的變化。
–網際網路通訊協議HTTP協議,是一個無狀態協議。這意味著,所有的狀態都儲存在伺服器端。因此,如果客戶端想要操作伺服器,必須通過某種手段,讓伺服器端發生”狀態轉化”(State Transfer)。而這種轉化是建立在表現層之上的,所以就是”表現層狀態轉化”。
–客戶端用到的手段,只能是HTTP協議。具體來說,就是HTTP協議裡面,四個表示操作方式的動詞:GET、POST、PUT、DELETE。它們分別對應四種基本操作:GET用來獲取資源,POST用來新建資源(也可以用於更新資源),PUT用來更新資源,DELETE用來刪除資源。
這裡寫圖片描述

理解RESTful架構

這裡寫圖片描述

–常見的返回狀態

這裡寫圖片描述

這裡寫圖片描述

相關推薦

restrestFul解析

名稱 rest即Representational State Transfer,表現層狀態轉化,如果一個架構符合REST原則,就稱它為RESTful架構。 資源(Resources) –REST的名稱”表現層狀態轉化”中,省略了主語。”表現層”其實指的是”

RESTRESTful到底是個什麼?

我覺得問題很好:REST -- REpresentational State Transfer 直接翻譯:表現層狀態轉移。這個中文直譯經常出現在很多部落格中。尼瑪誰聽得懂“表現層狀態轉移”?這是人話嗎?我自己也困惑了很久,查詢了很多資料,花了差不多一年有個還算清晰的理解。分享如下: 老師的一句話概括很精

什麽是RESTRESTful

clas present tran 通過 所有 後臺 員工 狀態 date 轉載自https://www.zhihu.com/question/28557115 https://blog.csdn.net/hjc1984117/article/details/773346

軟件架構WEB - REST架構RESTful API

clas www. present lock question pre sent 分享圖片 rest 參考 https://www.zhihu.com/question/27785028/answer/48096396 wiki太學術化了 http://www.ruan

什麼是rest什麼是restful

引子       對於一個程式猿來說,不知道REST和RESTful那就尷尬了,當時與別人交流時,大家都在說REST或RESTful格式訪問,而你在一邊一臉懵逼,那就呵呵了。網上有很多關於這類的文章,但是多數是如何用,往往會給你一種盲人摸象的感覺,所以寫這篇部落格,僅僅是個

REST以及RESTful的講解

1.傳統下的API介面   http是目前在網際網路上使用最多的協議,沒有之一。   可是http的創始人一直都覺得,在過去10幾年來,所有的人都在錯誤的使用Http.這句話怎麼說呢?   如果說你要刪除一個數據,以往的做法通常是 delete/{i

JavaScript if(x)==和===解析(翻譯整理)

ise work word any abc exp string ota always 一、if()中的布爾判斷 if ( Expression ) 表達式會通過ES5定義的ToBoolean方法強制把Expression 轉換成布爾值。 數據類型 轉換結果 Un

踢走絆腳石MTU解析與常見問題匯總-上篇

mtu tcp-mss path mtu 金秋十月,在這國慶和中秋雙節之際,首先祝福大家雙節快樂。 今天讓我們來聊聊MTU的話題。相信無論網工還是程序員,都會多多少少的碰到過由MTU引發的問題,也往往對MTU值的選擇和計算頭疼不已。通常情況下,我們可以通過調整TCP-MSS值的大小,或者使用Pat

求解多邊形面積2S= Σ【Xi (Yi+1-Yi-1)】,(i屬於1~n)公式解析及編程實現

poi logs 驗證 地圖 class view hide 對比 turn yogurt今天要個大家分享一個基礎的二維空間多邊形面積求算方法,主要也是為了下一篇《橢球體上某區域面積的求算,及Albers投影與墨卡托投影後該區域面積對比》打一個基礎。關於投影的相關過

FFmpeg視頻編解碼庫無法解析的外部符號、找不到inttypes.h文件的問題

detail program targe image types lib 包含 mage 程序 ffmpeg報錯,link2019,無法解析的外部符號。 以下嘗試: 在檢查 包含目錄、庫目錄、鏈接器輸入和系統環境變量 均設置無誤的情況下,包含的文件要寫成以下形式: ex

網上整理的對於RestRestful api的理解

gpo 信息 常用 method 安全 什麽 獲取 正常 stat 一、什麽是Rest? REST不是"rest"這個單詞,而是幾個單詞縮寫 -- REpresentational State Transfer 直接翻譯:表現層狀態轉移,但這個翻譯正常人根本看不懂,找到的一

Python全棧day18(三元運算列表解析生成器表達式)

協議 什麽是 list 列表解析 不但 pri 就是 雞蛋 無限制 一,什麽是生成器   可以理解為一種數據類型,這種數據類型自動實現了叠代器協議(其他數據類型需要調用自己內置的__iter__方法),所以生成器是可叠代對象。 二,生成器分類在python中的表現形式

sed命令nNdDpPhHgGx解析

排列 無法執行 數字和字母 a-z blog 末尾 讀取最後一行 換行 成功 1、sed執行模板=sed ‘模式{命令1;命令2}‘即逐行讀入模式空間,執行命令,最後輸出打印出來2、為方便下面,先說下p和P,p打印當前模式空間內容,追加到默認輸出之後,P打印當前模式空間開端

在雲計算時代中深度解析桌面雲aDesk

桌面雲對於桌面雲虛擬化,不少人仍舊覺得這是一個高深莫測的技術,而諸如服務器虛擬化、雲、桌面虛擬化等各種專業術語,也常常把人繞得雲裏霧裏。但事實上,桌面雲的概念並非那麽復雜,中亞矽谷桌面雲產品aDesk,就闡述了桌面雲產品的“簡化”概念。企業信息化建設過程中,到目前為止國內客戶幾乎還是采用傳統PC的辦公模式,越

Nginx防盜鏈以及訪問控制Nginx解析php配置和代理

NginxNginx防盜鏈 1.編輯配置文件: [root@weixing01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jp

DNS服務子域委派授權解析負載均衡等功能原理解析實驗(歡迎各位朋友蒞臨指教、討論)

子域委派授權負載均衡一、DNS服務器簡易架構圖二、實驗操作步驟~~~~~~~~~~~~~~~~1、設置客戶端域名解析,使之指向緩存服務器~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[root@DNS131 ~]# cat /etc/resolv.conf ; generated

JavaScript之parentId轉換成children數據解析

parentId children 廣度優先 深度優先 1.用parentId的數據格式轉換成有children的數據var array = []; var iterator1 = function (treeNodes) { if (!treeNodes || !tr

rest-framework框架 -- 解析器、分頁、路由

表示 color 組件 elf post data ... rest art rmp 解析器 :reqest.data取值的時候才執行 對請求的數據進行解析:是針對請求體進行解析的。表示服務器可以解析的數據格式的種類 django中的發送請求 #如果是這樣的格式發送的數據

使用原生JS發送AJAX請求(XMLJSON解析

status quest chan ldoc text nbsp 字符 tco send mybutton.addEventListener(‘click‘, (e) => { let request = new XMLHttpRequest() r

Java學習總結(21)——XML文檔解析:DOM解析SAX解析

Oz 學習總結 AR javax exce 天氣 efault ray XP 一.XML簡介1.可擴展性標記語言(eXtensible Markup Language)2.XML用於描述數據3.應用場合:(1)持久化存儲數據(2)數據交換(3)數據配置4.XML語法(1)文