成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

REST和SOAP:誰更好 或者都好?

網絡 網絡管理
如今,Web開發者的可選技術相當之多;從簡化的數據庫訪問技術,到易用的中間件服務包裝技術,以及各種有趣的客戶端軟件等等,一應俱全。

如今,Web開發者的可選技術相當之多;從簡化的數據庫訪問技術,到易用的中間件服務包裝技術,以及各種有趣的客戶端軟件等等,一應俱全。所有這些產品和工具,都是為了幫助Web開發者用最快的速度開發出最好的Web應用。

然而,擁有大量可選軟件方案以及為Web應用的特定部分選用特定方案,都是具有挑戰的事;而且,現在Web開發者必須持續跟蹤各種不斷變化著的標準與方法。

舉個例子,Web服務技術就有SOAP(SimpleObjectAccessProtocol,簡單對象訪問協議)和REST(RepresentationalStateTransfer,表示性狀態轉移)這兩種方案。它們都是有效的方案,但在具體場合下采用哪種方案好,這要取決于Web開發者。

目前,大部分Web開發者似乎都了解REST——一種采用標準URI進行調用的方案。REST很容易理解,而且只要是支持HTTP/HTTPS的客戶端/服務器就支持它。你可以用HTTPGET方法來執行命令。所以,開發者們感受到的REST的優勢是:開發簡單、只需依托現有Web基礎設施、以及學習成本低。

然而,SOAP作為一種古老的Web服務技術,短期內還不會退出歷史舞臺。而且,隨著SOAP1.2的出現,SOAP印象中的一些缺點已得到改進,采納率和易用程度也都得到提高。另需注意的是,從W3CSOAP1.2版開始,SOAP這一縮寫不再代表SimpleObjectAccessProtocol(簡單對象訪問協議),而是僅僅作為協議名稱而已。

相對REST而言,SOAP1.2多出一些開銷,不過這些開銷也帶來了一些好處。首先,SOAP在三個方面離不開XML(ExtensibleMarkupLanguage,可擴展標記語言):SOAP信封(envelope)是基于XML的,它定義了消息里有什么以及如何處理它;一套用于數據類型的編碼規則;過程調用和響應的規劃。SOAP信封由傳輸協議(HTTP/HTTPS)發出,RPC(RemoteProcedureCall,遠程過程調用)得到執行,然后一個XML文檔隨SOAP信封返回。

需要注意的是,基于“通用”傳輸協議是SOAP的一個優點。REST目前基于HTTP/HTTPS;而SOAP可支持任何傳輸協議,從HTTP/HTTPS到SMTP(SimpleMailTransferProtocol,簡單郵件傳送協議),甚至JMS(JavaMessagingService,Java消息傳遞服務)。不過,由于XML較為冗長且解析費時,因此采用XML也成為一個弊端。

不過,對Web開發者來說的好消息是,目前上述兩種方案都是行之有效的方案。REST和SOAP都能解決許多Web方面的問題與挑戰,而且在許多情況下,它們各自都能滿足開發者的要求,也就是說可互換使用。

但很多人不知道,這兩種技術可以混合搭配使用。REST很好理解,且極易上手;不過由于它缺乏標準,因此只被看作是一種架構方法。與之相比,SOAP是一個工業標準,它具備良好定義的協議,以及一套良好確立的規則,在大型和小型系統中均有采用。

因此,REST的適用場合包括

有限的帶寬和資源別忘了返回的結構可以采用(由開發者定義的)任何格式。另外,由于REST采用標準的GET、PUT、POST和DELETE動詞,因此可被任何瀏覽器所支持。除此以外,REST還可以使用為目前大多數瀏覽器支持的XMLHttpRequest對象,這為AJAX增色不少。

完全無狀態的操作對于那些需多步執行的操作,REST并非最佳選擇,采用SOAP更合適。但是,如果你需要無狀態的CRUD(Create/Read/Update/Delete,創建/讀取/更新/刪除)操作,那么應采用REST。

緩存考慮若要利用無狀態操作的特性,使得信息可被緩存,那么REST是很好的選擇。

以上已經覆蓋很多方案了,那么,為什么還要考慮SOAP呢?正如前述,SOAP比較成熟而且是經過良好定義的,具有完整的規范。而REST只不過是一種方法,對開發未作任何規約;因此,假如你遇到以下場合,那么SOAP是最佳選擇:

異步處理與調用如果你的應用需要確保可靠性與安全性,那么請采用SOAP。SOAP1.2為確保這種操作補充定義了WSRM(WS-ReliableMessaging)等標準。

形式化契約若提供者/消費者雙方必須就交換格式取得一致,那么采用SOAP更合適。SOAP1.2為這種交互提供了嚴格的規范。

有狀態的操作如果應用需要上下文信息與對話狀態管理,那么應采用SOAP。SOAP1.2為此補充定義了WS-Security、WS-Transactions和WS-Coordination等標準。相比之下,REST方法要求開發者自己來實現這些框架性工作。

正如你所看到的,REST和SOAP各自有其用武之地。它們在安全性和傳輸層等方面有著自己的潛在問題,不過它們都能完成任務,而且在許多情況下,它們都豐富了Web的技術手段。因此,就這一論題,其實最好的原則就是靈活性原則;因為至少在現今的Web開發中,無論面對何種問題,Web開發者們總有辦法運用好這兩種技術中的一種。

【編輯推薦】

  1. SOAP協議應用
  2. SOAP協議的三個部分
  3. SOAP協議初解
  4. SOAP協議的相關應用和總結
責任編輯:于爽 來源: www.infoq.com
相關推薦

2009-07-29 17:45:09

ibmdwWebREST

2009-07-31 16:26:28

ibmdwREST

2010-10-28 09:56:53

Web APIRESTSOAP

2017-09-22 11:31:28

KotliJava編程語言

2024-01-15 08:25:53

SPI機制JavaDubbo

2025-04-17 01:11:00

2010-09-10 15:04:40

SOAP HTTP

2020-07-10 07:48:19

REST APISDK提供商

2018-01-09 11:09:42

RESTSOAP開源

2011-04-25 17:08:41

2012-11-01 09:47:03

2011-06-10 15:38:16

投影機技巧

2015-10-09 11:02:02

2020-01-18 14:55:03

架構運維技術

2023-04-10 07:32:59

FSRDLSSAMD

2010-07-14 17:26:36

SOAP協議

2010-07-14 17:16:35

SOAP協議

2021-10-25 22:35:54

手機屏幕LCD

2011-09-19 10:41:01

MPLS多協議標簽交換

2013-11-12 11:06:10

扁平化UI設計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av黄色在线 | 国产精品视频999 | 91精品国产91久久久久久不卞 | 91久久国产综合久久91精品网站 | 国产电影一区二区 | gogo肉体亚洲高清在线视 | 精品国产乱码久久久久久中文 | 国产福利视频 | 成人影院一区二区三区 | 色偷偷人人澡人人爽人人模 | 国产三级 | 91视频久久久久 | 天天躁日日躁狠狠的躁天龙影院 | 免费在线观看91 | 国产一级免费视频 | 午夜成人在线视频 | 国产精品美女久久久久久久网站 | 毛片网站免费观看 | 91精品国产综合久久久密闭 | www.久久影视 | 欧美高清视频一区 | a级网站| 亚洲精品乱码久久久久久久久 | 手机看黄av免费网址 | 91久久国产综合久久91精品网站 | 亚洲巨乳自拍在线视频 | h视频在线观看免费 | 欧美激情视频一区二区三区在线播放 | 狠狠操操 | www.99热.com | 四虎影视一区二区 | 成人在线免费 | 亚洲国产中文在线 | 国产视频中文字幕 | 日本小电影在线 | 亚洲激情专区 | 久久久夜色精品亚洲 | 综合精品在线 | 中文字幕国产日韩 | 91视频大全 | 成人av在线播放 |