<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      REST筆記(二):有CRUD與URI的服務就是RESTful Service嗎?

        網上有許多介紹REST的資料,在這大部分資料中,基本都會介紹通過URI隧道技術與通用的連接器接口(也就是POST\GET\PUT\DELETE,即CRUD)對資源進行操作。
        那么支持URI隧道技術與CRUD的服務就表明我們的服務就是REST風格的了嗎。?事實上在Richardson成熟度模型中,URI隧道技術與HTTP出于第一級與第二級。如下圖:


        在他的最上層就是本節所敘述的超媒體(HyperMedia)。

        本節目錄:

      • 1、超媒體格式
      • 2、超媒體格式與POX比較
      • 3、如何處理超媒體
      • 4、標準超媒體格式

        在REST中有一個很重要的約束,即統一接口。尤其是在接口制約在資源上的操作方法上。但是統一接口還有一個很重要的方面:超媒體即引用狀態引擎(Hypermedia As The Engine Of Application State,縮寫為HATEOAS)。通常將固定、統一的URI暴露出來,之后的應用便由超媒體接管。
        那么什么是超媒體呢。?其實我們每天都會接觸到超媒體。比如:HTML,這就是廣泛使用的超媒體格式之一。它根本的特征是:消費者經過資源表述中的鏈接來改變應用的狀態。這也是本人了解REST("表述性狀態轉移")中狀態的轉移方式。服務通過統一的URI將接口公開,消費者通過此接口獲取到資源的表述,然后消費者通過表述之間的鏈接來完成某個目標。比如說:網購。它先引導消費者搜索希望購買的商品→然后展現資源→付款→完成交易。
       1、超媒體格式。
      REST的超媒體格式沒有指定具體的表述格式,但是要求格式必須提供必要的超媒體信息。由超媒體驅動的分布式系統對其消費者提出的要求是消費者必須發現資源并與之進行交互從而完成應用的目標。超媒體的格式有很多:

      • 1.1標準的超媒體格式XHTML,Atom
      • 1.2自定義的超媒體格式。只要消費者與服務提供者之間建立契約,使消費者能正確處理服務所提供的資源。

        2、超媒體格式與POX之間的比較
        普通老式XML(Plain Old XML)是一種廣泛使用的標準,并且具有平臺無關性。標準的超媒體格式如Atom、XHTML也是一種XML的格式。那么他們之間有什么差別呢。?為什么超媒體格式稱為REST的核心原則而非POX?這就要響應與表述說起。
      舉例說明:消費者提交一個訂單信息的表述,使用Fiddler獲取到POX風格響應如下:

      上面這個響應很正常,沒有什么問題。當我們提交了一個資源給服務后,服務也返回了Location信息,即Location: Order/1。我們可以功過它來獲取提交資源的表述。
      如果使用超媒體格式,我們得到的響應如下:


       表述中<link>的說明:
        uri屬性:它的值表明消費者想要推進應用協議時可以與之交互的資源
        rel屬性:表明跟隨鏈接與資源交互時采用的HTTP動作
        mediaType屬性:表明請求荷載的媒體類型。


        上面兩種HTTP響應中,POX格式只是給出了消費者提交資源的表述,而超媒體格式卻給出了很多鏈接值來對資源進行廣告。通過超媒體的方式,我們將連接直接放置在了發回給消費者的響應中,通過它可以引導消費者進行下一步操作,從而完成最終目標。這樣,相比暴露給固定的URI更明智。因為它進一步降低了消費者與服務端的耦合。而在用戶通過不同的鏈接來獲取資源進行操作時,應用的狀態也隨之發生著變化。個人覺得這就是REST中核心思想。

      附加說明:
        媒體類型、鏈接關系值、HTTP慣用語是領域應用協議(DAP Domain Application Protocol)三個要素。
        1、媒體類型規范性的描述了表述格式的綱要、處理模型、和鏈接關系值
        2、鏈接關系值:描述鏈接資源的作用
        3、HTTP慣用語:操作參與協議的資源。HTTP慣用語包括方法、HTTP頭信息、HTTP狀態碼.


        3、如何處理超媒體格式
        看了上面的介紹,是否覺得超媒體具有眾多的優勢?那像這種媒體格式,應該如何處理它呢。?其實答案在HTTP給出的響應中已經給出了答案。
        看看Content-Type的值,我們就知道如何處理了。在HTTP中忽略Content-Type它的值是一種及其不明智的做法。也許有人會說,像上面自定義的超媒體格式application/vnd.example+xml,不就是一個XML嗎。?為什么不能用解析常規XML文檔來對他進行操作呢。?是的,如果將超媒體格式作為一種POX格式來進行操作,那就浪費了資源了。還有人或許會說,上面的格式也沒有一種統一的標準來對表述進行操作。也是。因為它是我們自己定義的一種超媒體格式,既然是我們自己定義的,那么它就一定只屬于我們當前應用的范圍,超出這一范圍了,也就失去了它原本的意義。實際應用中,我們也用標準的超媒體格式,來供我們使用。

        4、標準的超媒體格式介紹
        前面已經介紹了幾種常見的超媒體格式,如XHTML、ATOM。Apache Abdera和.Net FrameWork中的syndication類型都實現了Atom Syndicaiton Format。

       

      posted @ 2011-12-13 18:07  tyb1222  閱讀(8509)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 不卡乱辈伦在线看中文字幕| 亚洲婷婷综合色香五月| 精品国产一区二区三区性色 | 色欲久久综合亚洲精品蜜桃| 国产av无码专区亚洲草草| 国产一区一一区高清不卡| 亚洲一区二区中文av| XXXXXHD亚洲日本HD| 18岁日韩内射颜射午夜久久成人| 精品国产成人一区二区| 国产成人av乱码在线观看| 亚洲香蕉av一区二区蜜桃| 美欧日韩一区二区三区视频| 羞羞影院午夜男女爽爽免费视频 | 国产一区二区丰满熟女人妻| 国产精品一区二区三区蜜臀| 超清无码一区二区三区| 色九月亚洲综合网| 兴化市| 亚洲欧洲∨国产一区二区三区| 亚洲欧美自偷自拍视频图片| 久久五月丁香合缴情网| 亚洲中文字幕伊人久久无码| 强伦人妻一区二区三区| 日韩av一区二区高清不卡| 亚洲av片在线免费观看| 午夜精品久久久久久久2023| 免费AV片在线观看网址| 国产精品高清视亚洲精品| 亚洲天堂伊人久久a成人| 久久久精品人妻一区二区三区| 亚洲乱色熟女一区二区蜜臀| 国产亚洲午夜高清国产拍精品| 色噜噜亚洲男人的天堂| 又大又粗又爽的少妇免费视频| 大地资源免费视频观看| 亚洲精品美女久久7777777| 欧美牲交a欧美牲交aⅴ免费| 亚洲av无码乱码在线观看野外| 国产综合精品一区二区三区| 一区二区三区四区高清自拍|