隨著互聯(lián)網(wǎng)的高速發(fā)展,越來越多的人開始意識到網(wǎng)站即軟件,且是一種新型的軟件真仲,基于http協(xié)議的rest架構(gòu)風(fēng)格便應(yīng)運(yùn)而生,它是全新的針對Web應(yīng)用的開發(fā)風(fēng)格漏健,就譬如給孩子請個(gè)家教一對一教學(xué)嚎货,針對孩子特點(diǎn)因材施教,孩子亦可以最簡單便捷的方式去接收知識蔫浆。它使人們真正理解了Http協(xié)議本來面貌殖属,也是當(dāng)今世界最成功的互聯(lián)網(wǎng)超媒體分布式系統(tǒng)架構(gòu),因此我們把REST也寫作為REST/HTTP瓦盛。
那么到底REST是什么洗显,從何而來,又有著怎樣的影響原环?接下來一一為大家講述挠唆。
1 : REST的起源和理解
REST軟件架構(gòu)是由http協(xié)議的開發(fā)者Roy Thomas Fielding博士在2000年首次提出的,一經(jīng)提出就得到了廣泛的關(guān)注嘱吗,并對互聯(lián)網(wǎng)開發(fā)產(chǎn)生了不可比擬的影響玄组。
REST,即Representational State Transfer的縮寫谒麦,中文是"表現(xiàn)層狀態(tài)轉(zhuǎn)化"俄讹,Roy Fielding將其定義為一種架構(gòu)風(fēng)格,而不是標(biāo)準(zhǔn)绕德,目標(biāo)是“使延遲和網(wǎng)絡(luò)交互最小化颅夺,同時(shí)使組件實(shí)現(xiàn)的獨(dú)立性和擴(kuò)展性最大化”。
如果一個(gè)架構(gòu)符合REST原則爬迟,我們就稱它為RESTful架構(gòu)番刊。那么我們就需要了解這個(gè)架構(gòu)的規(guī)范,以更好的掌握消化它城丧。
2 : RESTful構(gòu)架規(guī)范
首先延曙,要理解RESTful架構(gòu),就必須先理解Representational State Transfer這個(gè)詞組亡哄,直譯過來是「表現(xiàn)層狀態(tài)轉(zhuǎn)化」枝缔,其實(shí)它省略了主語∥霉撸「表現(xiàn)層」其實(shí)指的是「資源」的「表現(xiàn)層」愿卸,所以通俗來講就是:資源在網(wǎng)絡(luò)中以某種表現(xiàn)形式進(jìn)行狀態(tài)轉(zhuǎn)移。
其次截型,再來理解一個(gè)具體的RESTful架構(gòu)——面向資源的架構(gòu)(Resource-Oriented Architecture趴荸,ROA):
此外,應(yīng)用于Web服務(wù)宦焦,符合REST設(shè)計(jì)風(fēng)格的Web API稱為RESTful API发钝。它從以下三個(gè)方面資源進(jìn)行定義:
3 : REST的優(yōu)點(diǎn)
1顿涣、統(tǒng)一接口:它不僅僅能夠對于互聯(lián)網(wǎng)資源進(jìn)行唯一定位,而且還能告訴我們對于該資源進(jìn)行怎樣運(yùn)作酝豪。好處是保證系統(tǒng)提供的服務(wù)都是解耦的涛碑,極大的簡化了系統(tǒng),從而改善了系統(tǒng)的交互性和可重用性孵淘。
2蒲障、分層系統(tǒng):提高了各種層次之間的獨(dú)立性,也提高了系統(tǒng)的可伸縮性瘫证。
3揉阎、按需代碼:允許對客戶端功能進(jìn)行擴(kuò)展,改善了系統(tǒng)可擴(kuò)展性背捌,但降低了可見性余黎。
4:REST的應(yīng)用
基于以上分析及非REST協(xié)議和REST協(xié)議的對比,我們不難得出:REST風(fēng)格的Web服務(wù)與復(fù)雜的SOAP和XML-RPC對比來講明顯的更加簡潔扭仁,且結(jié)構(gòu)清晰垮衷、符合標(biāo)準(zhǔn)、易于理解乖坠、擴(kuò)展方便搀突,所以得到越來越多網(wǎng)站的采用。比如Amazon.com提供接近REST風(fēng)格的Web服務(wù)進(jìn)行圖書查找熊泵;雅虎提供的Web服務(wù)也是REST風(fēng)格的仰迁。
對于廣大平臺來說,比如Facebook platform等顽分,它們不需要有顯式的前端徐许,只需要一套提供服務(wù)的接口,于是RESTful更是它們最好的選擇卒蘸。
結(jié)語
中國移動·通信開放平臺就是使用REST風(fēng)格的Web服務(wù)來進(jìn)行API的調(diào)用雌隅,以求更好的為客戶服務(wù)。相信缸沃,有類似REST風(fēng)格等正確的理論指導(dǎo)恰起,會能讓大家在軟件開發(fā)的實(shí)際工作過程中少走彎路