rest api介紹

一讯沈、rest api 是前后端分離最佳實(shí)踐郁岩,是開發(fā)的一套標(biāo)準(zhǔn)或者說是一套規(guī)范,不是框架。

好處:
1问慎、輕量萍摊,直接通過http,不需要額外的協(xié)議如叼,通常有post/get/put/deletec操作冰木。
2、面向資源笼恰,一目了然踊沸,具有自解釋性
3、數(shù)據(jù)描述簡單社证,一般通過json或者xml做數(shù)據(jù)通訊
rest的概括

二逼龟、REST全稱

即Representational State Transfer的縮寫。我對這個(gè)詞組的翻譯是"表現(xiàn)層狀態(tài)轉(zhuǎn)化"追葡。

三审轮、資源(Resources)

REST的名稱"表現(xiàn)層狀態(tài)轉(zhuǎn)化"中,省略了主語辽俗。"表現(xiàn)層"其實(shí)指的是"資源"(Resources)的"表現(xiàn)層"疾渣。

所謂"資源",就是網(wǎng)絡(luò)上的一個(gè)實(shí)體崖飘,或者說是網(wǎng)絡(luò)上的一個(gè)具體信息榴捡。它可以是一段文本、一張圖片朱浴、一首歌曲吊圾、一種服務(wù),總之就是一個(gè)具體的實(shí)在翰蠢。你可以用一個(gè)URI(統(tǒng)一資源定位符)指向它项乒,每種資源對應(yīng)一個(gè)特定的URI。要獲取這個(gè)資源梁沧,訪問它的URI就可以檀何,因此URI就成了每一個(gè)資源的地址或獨(dú)一無二的識別符。

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

四恋拍、表現(xiàn)層(Representation)

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

比如狭莱,文本可以用txt格式表現(xiàn),也可以用HTML格式概作、XML格式腋妙、JSON格式表現(xiàn),甚至可以采用二進(jìn)制格式仆嗦;圖片可以用JPG格式表現(xiàn),也可以用PNG格式表現(xiàn)先壕。

URI只代表資源的實(shí)體瘩扼,不代表它的形式。嚴(yán)格地說垃僚,有些網(wǎng)址最后的".html"后綴名是不必要的集绰,因?yàn)檫@個(gè)后綴名表示格式,屬于"表現(xiàn)層"范疇谆棺,而URI應(yīng)該只代表"資源"的位置栽燕。它的具體表現(xiàn)形式,應(yīng)該在HTTP請求的頭信息中用Accept和Content-Type字段指定改淑,這兩個(gè)字段才是對"表現(xiàn)層"的描述碍岔。

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

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

互聯(lián)網(wǎng)通信協(xié)議HTTP協(xié)議捏肢,是一個(gè)無狀態(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é)議里面,四個(gè)表示操作方式的動(dòng)詞:GET双霍、POST砚偶、PUT批销、DELETE。它們分別對應(yīng)四種基本操作:GET用來獲取資源染坯,POST用來新建資源(也可以用于更新資源)均芽,PUT用來更新資源,DELETE用來刪除資源单鹿。

六掀宋、綜述

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

(1)每一個(gè)URI代表一種資源仲锄;

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

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末怀愧,一起剝皮案震驚了整個(gè)濱河市侨颈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芯义,老刑警劉巖哈垢,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扛拨,居然都是意外死亡温赔,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門鬼癣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來陶贼,“玉大人,你說我怎么就攤上這事待秃“菅恚” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵章郁,是天一觀的道長枉氮。 經(jīng)常有香客問我,道長暖庄,這世上最難降的妖魔是什么聊替? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮培廓,結(jié)果婚禮上惹悄,老公的妹妹穿的比我還像新娘。我一直安慰自己肩钠,他們只是感情好泣港,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布暂殖。 她就那樣靜靜地躺著,像睡著了一般当纱。 火紅的嫁衣襯著肌膚如雪呛每。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天坡氯,我揣著相機(jī)與錄音晨横,去河邊找鬼。 笑死箫柳,一個(gè)胖子當(dāng)著我的面吹牛手形,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播滞时,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼叁幢,長吁一口氣:“原來是場噩夢啊……” “哼滤灯!你這毒婦竟也來了坪稽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤鳞骤,失蹤者是張志新(化名)和其女友劉穎窒百,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豫尽,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篙梢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了美旧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渤滞。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖榴嗅,靈堂內(nèi)的尸體忽然破棺而出妄呕,到底是詐尸還是另有隱情,我是刑警寧澤嗽测,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布绪励,位于F島的核電站,受9級特大地震影響唠粥,放射性物質(zhì)發(fā)生泄漏疏魏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一晤愧、第九天 我趴在偏房一處隱蔽的房頂上張望大莫。 院中可真熱鬧,春花似錦官份、人聲如沸葵硕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽懈凹。三九已至蜀变,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間介评,已是汗流浹背库北。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留们陆,地道東北人寒瓦。 一個(gè)月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像坪仇,于是被迫代替她去往敵國和親杂腰。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 解釋一 REST -- REpresentational State Transfer 直接翻譯:表現(xiàn)層狀態(tài)轉(zhuǎn)移椅文。...
    時(shí)間之友閱讀 2,229評論 0 10
  • 一說到REST喂很,我想大家的第一反應(yīng)就是“啊,就是那種前后臺通信方式皆刺∩倮保”但是在要求詳細(xì)講述它所提出的各個(gè)約束,以及如...
    時(shí)待吾閱讀 3,415評論 0 19
  • REST本身是一個(gè)高度抽象化的架構(gòu)風(fēng)格羡蛾,因而總是很難對它有一個(gè)比較深入且印象深刻的理解漓帅。寫這篇文章的目的,是自己對...
    vito1994閱讀 2,832評論 0 26
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理痴怨,服務(wù)發(fā)現(xiàn)忙干,斷路器,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 一浪藻、起源REST這個(gè)詞捐迫,是Roy Thomas Fielding在他2000年的博士論文中提出的。 (This d...
    柏樹_Jeff閱讀 984評論 0 0