真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

RESTAPI的設(shè)計(jì)風(fēng)格是什么樣的

REST API的設(shè)計(jì)風(fēng)格是什么樣的,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、茅箭網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為茅箭等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

有些人可能會(huì)強(qiáng)烈反對上面提到的/translate和其他JSON路由是API路由。其他人可能會(huì)同意,但也會(huì)認(rèn)為它們是一個(gè)設(shè)計(jì)糟糕的API。那么一個(gè)精心設(shè)計(jì)的API有什么特點(diǎn),為什么上面的JSON路由不是一個(gè)好的API路由呢?

你可能聽說過RESTAPI。REST(RepresentationalStateTransfer)是RoyFielding在博士論文中提出的一種架構(gòu)。該架構(gòu)中,Dr.Fielding以相當(dāng)抽象和通用的方式展示了REST的六個(gè)定義特征。

除了Dr.Fielding的論文外,沒有關(guān)于REST的權(quán)威性規(guī)范,從而留下了許多細(xì)節(jié)供讀者解讀。一個(gè)給定的API是否符合REST規(guī)范的話題往往是REST“純粹主義者”之間激烈爭論的源頭,REST“純粹主義者”認(rèn)為RESTAPI必須以非常明確的方式遵循全部六個(gè)特征,而不像REST“實(shí)用主義者”那樣,僅僅將Dr.Fielding在論文中提出的想法作為指導(dǎo)原則或建議。Dr.Fielding站在純粹主義陣營的一邊,并在博客文章和在線評論中的撰寫了一些額外的見解來表達(dá)他的愿景。

目前實(shí)施的絕大多數(shù)API都遵循“實(shí)用主義”的REST實(shí)現(xiàn)。包括來自Facebook,GitHub,Twitter等“大玩家”的大部分API都是如此。很少有公共API被一致認(rèn)為是純REST,因?yàn)榇蠖鄶?shù)API都沒有包含純粹主義者認(rèn)為必須實(shí)現(xiàn)的某些細(xì)節(jié)。盡管Dr.Fielding和其他REST純粹主義者對評判一個(gè)API是否是RESTAPI有嚴(yán)格的規(guī)定,但軟件行業(yè)在實(shí)際運(yùn)用中引用REST是很常見的。

無狀態(tài)

無狀態(tài)原則是REST純粹主義者和實(shí)用主義者之間爭論最多的兩個(gè)中心之一。它指出,RESTAPI不應(yīng)保存客戶端發(fā)送請求時(shí)的任何狀態(tài)。這意味著,在Web開發(fā)中常見的機(jī)制都不能在用戶瀏覽應(yīng)用程序頁面時(shí)“記住”用戶。在無狀態(tài)API中,每個(gè)請求都需要包含服務(wù)器需要識別和驗(yàn)證客戶端并執(zhí)行請求的信息。這也意味著服務(wù)器無法在數(shù)據(jù)庫或其他存儲形式中存儲與客戶端連接有關(guān)的任何數(shù)據(jù)。

如果你想知道為什么REST需要無狀態(tài)服務(wù)器,主要原因是無狀態(tài)服務(wù)器非常容易擴(kuò)展,你只需在負(fù)載均衡器后面運(yùn)行多個(gè)服務(wù)器實(shí)例即可。如果服務(wù)器存儲客戶端狀態(tài),則事情會(huì)變得更復(fù)雜,因?yàn)槟惚仨毰宄鄠€(gè)服務(wù)器如何訪問和更新該狀態(tài),或者確保給定客戶端始終由同一服務(wù)器處理,這樣的機(jī)制通常稱為粘性會(huì)話。

再思考一下本章介紹中討論的/translate路由,就會(huì)發(fā)現(xiàn)它不能被視為RESTful,因?yàn)榕c該路由相關(guān)的視圖函數(shù)依賴于Flask-Login的@login_required裝飾器,這會(huì)將用戶的登錄狀態(tài)存儲在Flask用戶會(huì)話中。

客戶端-服務(wù)器

客戶端-服務(wù)器原則相當(dāng)簡單,正如其字面含義,在RESTAPI中,客戶端和服務(wù)器的角色應(yīng)該明確區(qū)分。在實(shí)踐中,這意味著客戶端和服務(wù)器都是單獨(dú)的進(jìn)程,并在大多數(shù)情況下,使用基于TCP網(wǎng)絡(luò)上的HTTP協(xié)議進(jìn)行通信。

分層系統(tǒng)

分層系統(tǒng)原則是說當(dāng)客戶端需要與服務(wù)器通信時(shí),它可能最終連接到代理服務(wù)器而不是實(shí)際的服務(wù)器。因此,對于客戶端來說,如果不直接連接到服務(wù)器,它發(fā)送請求的方式應(yīng)該沒有什么區(qū)別,事實(shí)上,它甚至可能不知道它是否連接到目標(biāo)服務(wù)器。同樣,這個(gè)原則規(guī)定服務(wù)器兼容直接接收來自代理服務(wù)器的請求,所以它絕不能假設(shè)連接的另一端一定是客戶端。

這是REST的一個(gè)重要特性,因?yàn)槟軌蛱砑又虚g節(jié)點(diǎn)的這個(gè)特性,允許應(yīng)用程序架構(gòu)師使用負(fù)載均衡器,緩存,代理服務(wù)器等來設(shè)計(jì)滿足大量請求的大型復(fù)雜網(wǎng)絡(luò)。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


網(wǎng)站題目:RESTAPI的設(shè)計(jì)風(fēng)格是什么樣的
轉(zhuǎn)載注明:http://weahome.cn/article/goosjc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部