小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

soap與rest

 linchq 2010-04-12

簡單對象訪問協(xié)議 SOAP ,全寫為Simple Object Access Protocol )是一種標(biāo)準化的通訊規(guī)范,主要用于Web服務(wù) (web service)中。SOAP的出現(xiàn)是為了簡化網(wǎng)頁服務(wù)器(Web Server)在從XML數(shù)據(jù)庫中提取資料時,無需花時間去格式化頁面,并能夠讓不同應(yīng)用程式之間透過HTTP通訊協(xié)定,以XML 格式互相交換彼此的資料,使其與編程語言、平臺和硬件無關(guān)。此標(biāo)準由IBM、Microsoft、UserLand和DevelopMentor在1998年共同提出,并得到IBM,蓮花(Lotus),康柏(Compaq)等公司的支持,于2000年提交給萬維網(wǎng)聯(lián)盟World Wide Web Consortium ;W3C),目前 SOAP 1.1 版是業(yè)界共同的標(biāo)準,屬于第二代的XML協(xié)定(第一代具主要代表性的技術(shù)為XML-RPC以及WDDX)。

用一個簡單的例子來說明 SOAP 使用過程,一個 SOAP 消息可以發(fā)送到一個具有 Web Service 功能的 Web 站點,例如,一個含有房價信息的數(shù)據(jù)庫,消息的參數(shù)中標(biāo)明這是一個查詢消息,此站點將返回一個 XML 格式的信息,其中包含了查詢結(jié)果(價格,位置,特點,或者其他信息)。由于數(shù)據(jù)是用一種標(biāo)準化的可分析的結(jié)構(gòu)來傳遞的,所以可以直接被第三方站點所利用。

  • SOAP封裝(envelop),封裝定義了一個描述消息中的內(nèi)容是什么,是誰發(fā)送的,誰應(yīng)當(dāng)接受并處理它以及如何處理它們的框架;
  • SOAP編碼規(guī)則(encoding rules),用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實例;
  • SOAP RPC表示(RPC representation),表示遠程過程調(diào)用和應(yīng)答的協(xié)定;
  • SOAP綁定(binding),使用底層協(xié)議交換信息。



  • 表象化狀態(tài)轉(zhuǎn)變
    (英文:Representational State Transfer ,簡稱REST )是
    Roy Fielding 博士在2000年他的博士論文中提出來的一種軟件架構(gòu) 風(fēng)格。

目前在三種主流的Web服務(wù) 實現(xiàn)方案中,因為REST模式的Web服務(wù) 與復(fù)雜的SOAPXML-RPC 對比來講明顯的更加簡潔,越來越多的web服務(wù)開始采用REST風(fēng)格設(shè)計和實現(xiàn)。例如,Amazon.com 提供接近REST風(fēng)格的Web服務(wù)進行圖書查找;雅虎 提供的Web服務(wù)也是REST風(fēng)格的。

<script type="text/javascript"> //<![CDATA[ if (window.showTocToggle) { var tocShowText = "顯示"; var tocHideText = "隱藏"; showTocToggle(); } //]]> </script>

宗旨

REST 從資源的角度來觀察整個網(wǎng)絡(luò),分布在各處的資源由URI 確定,而客戶端的應(yīng)用通過URI來獲取資源的表形。獲得這些表形致使這些應(yīng)用程序轉(zhuǎn)變了其狀態(tài)。隨著不斷獲取資源的表形,客戶端應(yīng)用不斷地在轉(zhuǎn)變著其狀態(tài),所謂表形化的狀態(tài)轉(zhuǎn)變(Representational State Transfer)。

這一觀點不是憑空臆造的,而是通過觀察當(dāng)前Web互聯(lián)網(wǎng)的運作方式而抽象出來的。Roy Fielding 認為,

設(shè)計良好的網(wǎng)絡(luò)應(yīng)用表現(xiàn)為一系列的網(wǎng)頁,這些網(wǎng)頁可以看作的虛擬的狀態(tài)機 ,用戶選擇這些鏈接導(dǎo)致下一網(wǎng)頁傳輸?shù)接脩舳苏宫F(xiàn)給使用的人,而這正代表了狀態(tài)的轉(zhuǎn)變。

要點及標(biāo)準

需要注意的是,REST是一種設(shè)計風(fēng)格而不是 一個標(biāo)準。REST通?;谑褂?a class=mw-redirect title=HTTP href="http://zh./w/index.php?title=HTTP&variant=zh-cn">HTTP ,URI ,和XML 以及HTML 這些現(xiàn)有的廣泛流行的協(xié)議和標(biāo)準。

  • 資源是由URI來指定。
  • 對資源的操作包括獲取、創(chuàng)建、修改和刪除資源,這些操作正好對應(yīng)HTTP協(xié)議提供的GET、POST、PUT和DELETE方法。
  • 通過操作資源的表形來操作資源。
  • 資源的表現(xiàn)形式則是XML或者HTML,取決于是讀者是機器還是人,是消費web服務(wù)的客戶軟件還是web瀏覽器。當(dāng)然也可以是任何其他的格式。

REST的要求

  • 客戶端和服務(wù)器結(jié)構(gòu)
  • 連接協(xié)議具有無狀態(tài)性
  • 能夠利用Cache機制增進性能
  • 層次化的系統(tǒng)
  • Code On Demand - Javascript

關(guān)于狀態(tài)

應(yīng)該注意區(qū)別應(yīng)用的狀態(tài)和連接協(xié)議的狀態(tài)。REST對于連接的無狀態(tài)性實際上要求每次經(jīng)過無狀態(tài)的連接協(xié)議傳送的信息必須包含應(yīng)用中所有的狀態(tài)信息。

實現(xiàn)舉例

例如,一個簡單的網(wǎng)絡(luò)商店應(yīng)用,

列舉所有商品,

GET http://www./products
    

具體某一件商品,

GET http://www./product/12345
    

下單購買,

POST http://www./order,
    <purchase-order>
    <item> ... </item>
    </purchase-order>
    

REST的優(yōu)點

  • 可以利用緩存Cache來提高響應(yīng)速度
  • 通訊本身的無狀態(tài)性可以讓不同的服務(wù)器的處理一系列請求中的不同請求,提高服務(wù)器的擴展性
  • 瀏覽器即可作為客戶端,簡化軟件需求
  • 相對與其他疊加在HTTP協(xié)議 之上的機制,REST的軟件依賴性更小
  • 不需要額外的資源發(fā)現(xiàn)機制
  • 在軟件技術(shù)演進中的長期的兼容性更好

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多