大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Rest架構的簡單介紹

Rest架構的簡單介紹

更新時間:2022-12-23 10:35:04 來源:動力節點 瀏覽1429次

REST是什么

基于Web的架構,實際上就是各種規范的集合,這些規范共同組成了Web架構。比如Http協議,比如客戶端服務器模式,這些都是規范。每當我們在原有規 范的基礎上增加新的規范,就會形成新的架構。而REST正是這樣一種架構,他結合了一系列的規范,而形成了一種新的基于Web的架構風格。

Rest架構的簡單介紹

傳統的Web應用大都是B/S架構,它包括了如下一些規范 。

客戶-服務器

這種規范的提出,改善了用戶接口跨多個平臺的可移植性,并且通過簡化服務器組件,改善了系統的可伸縮性。最為關鍵的是通過分離用戶接口和數據存儲這兩個關注點,使得不同用戶終端享受相同數據成為了可能。

無狀態性

無 狀態性是在客戶-服務器約束的基礎上添加的又一層規范。他要求通信必須在本質上是無狀態的,即從客戶到服務器的每個request都必須包含理解該 request所必須的所有信息。這個規范改善了系統的可見性(無狀態性使得客戶端和服務器端不必保存對方的詳細信息,服務器只需要處理當前 request,而不必了解所有的request歷史),可靠性(無狀態性減少了服務器從局部錯誤中恢復的任務量),可伸縮性(無狀態性使得服務器端可以 很容易的釋放資源,因為服務器端不必在多個request中保存狀態)。同時,這種規范的缺點也是顯而易見得,由于不能將狀態數據保存在服務器上的共享上 下文中,因此增加了在一系列request中發送重復數據的開銷,嚴重的降低了效率。

緩存

為 了改善無狀態性帶來的網絡的低效性,我們填加了緩存約束。緩存約束允許隱式或顯式地標記一個response中的數據,這樣就賦予了客戶端緩存 response數據的功能,這樣就可以為以后的request共用緩存的數據,部分或全部的消除一部分交互,增加了網絡的效率。但是用于客戶端緩存了信 息,也就同時增加了客戶端與服務器數據不一致的可能,從而降低了可靠性。

B/S架構的優點是其部署非常方便,但在用戶體驗方面卻不是很理想。為了改善這種情況,我們引入了REST。

REST在原有的架構上增加了三個新規范:統一接口,分層系統和按需代碼。

統一接口

REST 架構風格的核心特征就是強調組件之間有一個統一的接口,這表現在REST世界里,網絡上所有的事物都被抽象為資源,而REST就是通過通用的鏈接器接口對 資源進行操作。這樣設計的好處是保證系統提供的服務都是解耦的,極大的簡化了系統,從而改善了系統的交互性和可重用性。并且REST針對Web的常見情況 做了優化,使得REST接口被設計為可以高效的轉移大粒度的超媒體數據,這也就導致了REST接口對其它的架構并不是最優的。

分層系統

分層系統規則的加入提高了各種層次之間的獨立性,為整個系統的復雜性設置了邊界,通過封裝遺留的服務,使新的服務器免受遺留客戶端的影響,這也就提高了系統的可伸縮性。

按需代碼

REST允許對客戶端功能進行擴展。比如,通過下載并執行applet或腳本形式的代碼,來擴展客戶端功能。但這在改善系統可擴展性的同時,也降低了可見性。所以它只是REST的一個可選的約束。

REST的設計準則

REST架構是針對Web應用而設計的,其目的是為了降低開發的復雜性,提高系統的可伸縮性。REST提出了如下設計準則:

網絡上的所有事物都被抽象為資源(resource);

每個資源對應一個唯一的資源標識符(resource identifier);

通過通用的連接器接口(generic connector interface)對資源進行操作;

對資源的各種操作不會改變資源標識符;

所有的操作都是無狀態的(stateless)。

REST中的資源所指的不是數據,而是數據和表現形式的組合,比如“最新訪問的10位會員”和“最活躍的10為會員”在數據上可能有重疊或者完全相同,而 由于他們的表現形式不同,所以被歸為不同的資源,這也就是為什么REST的全名是Representational State Transfer的原因。資源標識符就是URI(Uniform Resource Identifier),不管是圖片,Word還是視頻文件,甚至只是一種虛擬的服務,也不管你是xml格式,txt文件格式還是其它文件格式,全部通過 URI對資源進行唯一的標識。

REST是基于Http協議的,任何對資源的操作行為都是通過Http協議來實現。以往的Web開發大多數用的都是Http協議中的GET和POST方 法,對其他方法很少使用,這實際上是因為對Http協議認識片面的理解造成的。Http不僅僅是一個簡單的運載數據的協議,而是一個具有豐富內涵的網絡軟 件的協議。他不僅僅能對互聯網資源進行唯一定位,而且還能告訴我們如何對該資源進行操作。Http把對一個資源的操作限制在4個方法以內:GET, POST,PUT和DELETE,這正是對資源CRUD操作的實現。由于資源和URI是一一對應的,執行這些操作的時候URI是沒有變化的,這和以往的 Web開發有很大的區別。正由于這一點,極大的簡化了Web開發,也使得URI可以被設計成更為直觀的反映資源的結構,這種URI的設計被稱作 RESTful的URI。這位開發人員引入了一種新的思維方式:通過URL來設計系統結構。當然了,這種設計方式對一些特定情況也是不適用的,也就是說不 是所有的URI都可以RESTful的。

REST 之所以可以提高系統的可伸縮性,就是因為它要求所有的操作都是無狀態的。由于沒有了上下文(Context)的約束,做分布式和集群的時候就更為簡單,也 可以讓系統更為有效的利用緩沖池(Pool)。并且由于服務器端不需要記錄客戶端的一系列訪問,也減少了服務器端的性能。

通過上述介紹,相信大家對Rest架構已經有所了解,如果大家想了解更多相關知識,可以關注一下動力節點的Java在線學習,里面的課程內容從入門到精通,細致全面,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国外成人在线视频 | 德国女人一级毛片免费 | 成人国产精品一区二区网站 | 97视频在线 | 一级欧美一级日韩毛片99 | a拍拍男女免费看全片 | 九九久久免费视频 | 日本不卡免费高清视频 | 香蕉在线精品亚洲第一区 | 欧美综合另类 | 麻豆精品久久精品色综合 | 四虎影视成人精品 | 深夜免费 | 国产精品福利一区二区 | 在线观看亚洲国产 | 亚洲欧美国产日产综合不卡 | 色综合久久天天综合绕观看 | 夜夜骑加勒比 | 久久免费视频在线观看 | 久久99精品国产麻豆不卡 | 日韩视频一 | 青青青青啪视频在线观看 | 亚洲午夜精品 | 91精品国产欧美一区二区 | 日韩福利影院 | 中国大陆一级毛片 | 色婷婷色综合 | 114毛片免费观看网站 | 亚洲图片综合区 | 日本高清不卡码 | 轻轻操在线观看 | 亚洲国产网 | 五月天婷婷缴情五月免费观看 | 激情综合网五月 | 天海翼一区二区三区高清视频 | 久久免费视频1 | 成人a在线 | 亚洲欧美日韩专区一 | 天天做天天爱天天综合网 | 中文字幕精品视频在线 | 综合图区亚洲 |