欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

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

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

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

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

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

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

無狀態(tài)

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

如果你想知道為什么REST需要無狀態(tài)服務(wù)器,主要原因是無狀態(tài)服務(wù)器非常容易擴展,你只需在負載均衡器后面運行多個服務(wù)器實例即可。如果服務(wù)器存儲客戶端狀態(tài),則事情會變得更復(fù)雜,因為你必須弄清楚多個服務(wù)器如何訪問和更新該狀態(tài),或者確保給定客戶端始終由同一服務(wù)器處理,這樣的機制通常稱為粘性會話。

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

客戶端-服務(wù)器

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

分層系統(tǒng)

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

這是REST的一個重要特性,因為能夠添加中間節(jié)點的這個特性,允許應(yīng)用程序架構(gòu)師使用負載均衡器,緩存,代理服務(wù)器等來設(shè)計滿足大量請求的大型復(fù)雜網(wǎng)絡(luò)。

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

網(wǎng)站標(biāo)題:RESTAPI的設(shè)計風(fēng)格是什么樣的
URL網(wǎng)址:http://www.chinadenli.net/article22/goosjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)定制開發(fā)網(wǎng)站策劃服務(wù)器托管靜態(tài)網(wǎng)站關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)