RESTful跟WebService的區(qū)別

RESTful是什么:

首先要了解什么是REST,REST就是(REpresentational State Transfer單詞太長(zhǎng)記不住就對(duì)了)是一種構(gòu)架風(fēng)格,REST指的是一組架構(gòu)約束條件和原則。滿足這些約束條件和原則的應(yīng)用程序或者設(shè)計(jì)就是RESTful,核心就是面向資源,REST專(zhuān)門(mén)針對(duì)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)和開(kāi)發(fā)方式,以降低開(kāi)發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性,為什么這么說(shuō),因?yàn)镽ESTful是無(wú)狀態(tài)的,無(wú)狀態(tài)是指任意一個(gè)web請(qǐng)求必須完全與其他請(qǐng)求隔離,是獨(dú)立的,當(dāng)請(qǐng)求端提出請(qǐng)求時(shí),請(qǐng)求本身包含了這一請(qǐng)求的全部信息,這個(gè)約束提高系統(tǒng)的可伸縮性,可見(jiàn)性,可靠性。無(wú)狀態(tài)優(yōu)勢(shì)就是在調(diào)用接口,操作資源的時(shí)候,可以不考慮上下文,不用考慮當(dāng)前狀態(tài),降低復(fù)雜度。

WebService是什么:

WebService就是一個(gè)應(yīng)用程序,它向外界暴露出一個(gè)能夠通過(guò)Web進(jìn)行調(diào)用的API。也就是說(shuō),你可以通過(guò)編程的方法通過(guò)Web來(lái)調(diào)用這個(gè)應(yīng)用程序。它可以跨編程語(yǔ)言,跨操作系統(tǒng)平臺(tái)的這么一個(gè)遠(yuǎn)程調(diào)用技術(shù),采用SOAP(面向?qū)ο笤L問(wèn)協(xié)議)協(xié)議傳輸。差不多就是這樣,深入點(diǎn)的我也不是很清楚。

RESTful跟WebService的區(qū)別:

咳咳,上面所述,REST是一種架構(gòu)風(fēng)格,其核心是面向資源,遵循CRUD原則,這個(gè)原則告訴我們對(duì)于資源只需要4種行為,分別是:創(chuàng)建,獲取,更新和刪除,并且這些資源執(zhí)行的操作時(shí)通過(guò)HTTP協(xié)議規(guī)定的,而WebService底層是SOAP協(xié)議,核心是面向活動(dòng),有嚴(yán)格的規(guī)范和標(biāo)準(zhǔn),包括安全,事務(wù)等方面。

那么我們是使用RESTful還是WebService就需要考慮資源本身的 ,看資源本身是那種簡(jiǎn)單的類(lèi)似增刪改查的業(yè)務(wù)操作,還是那種比較復(fù)雜,如轉(zhuǎn)賬,事務(wù)處理等。其次是看是否有嚴(yán)格的規(guī)范和標(biāo)準(zhǔn)的,而且有多個(gè)業(yè)務(wù)系統(tǒng)集成和開(kāi)發(fā)的時(shí)候,我們使用SOAP協(xié)議就比較優(yōu)勢(shì),如果是簡(jiǎn)單的數(shù)據(jù)操作,無(wú)事務(wù)處理,開(kāi)發(fā)和調(diào)用比較簡(jiǎn)單的話使用REST架構(gòu)風(fēng)格比較有優(yōu)勢(shì),較為復(fù)雜的面向活動(dòng)的服務(wù),我們使用REST意義不大。

總結(jié):

它們之間沒(méi)有好與壞,只有適合不適合,都各自有自己的優(yōu)點(diǎn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容