服務協議REST和SOAP

服務協議,學習過程中剛遇到這個了,就來了解一下基本的知識。

明天去,怎麼說呢,突然的告別吧。從此就是一個人了。gzq曾經說我不值得,這樣的人hw一抓一大把。可是真的,這樣的人只有他一個。半個師父了,有點依賴。

不說啦,看題學習吧
參考鏈接:
https://blog.csdn.net/zg68/article/details/24354577
https://www.w3school.com.cn/soap/soap_intro.asp
https://www.cnblogs.com/MissQing/p/7240146.html

REST

REST是英文Representational State Transfer的縮寫,中文翻譯爲“表述性狀態轉移”,本身只是爲分佈式超媒體系統設計的一種架構風格,而不是標準。

REST在原有的B/S架構上增加了三個新規範:統一接口,分層系統和按需代碼。
統一接口,將系統提供的服務解耦,提升了系統的可交互性和重用性。分層系統將各個系統服務進行隔離,使新的服務器免受遺留客戶端的影響,提高了系統的獨立性和可伸縮性。按需代碼是指客戶端可以通過自定義代碼擴展客戶端系統功能呢,但這樣使客戶端變得不可見和不可控。(聽上去很跟隨服務化大潮呢)

REST是基於Http協議的,任何對資源的操作行爲都是通過Http協議來實現。

面向資源,甚至連服務也抽象成資源。

SOAP

SOAP 是基於 XML 的簡易協議,可使應用程序在 HTTP 之上進行信息交換。簡單地說,是一個訪問網絡服務的協議。

通信協議,可發送消息。一個xml文檔,裏面包含消息內容,可以在不同操作系統不同編程語言不同技術之間進行通信。使用POST方法發送請求,用一個唯一的URI標識服務的入口。

區別

一個特別好的例子。
因爲SOAP並不假定傳輸數據的下層協議,因此必須設計爲能在各種協議上運行。即使絕大多數SOAP是運行在HTTP上,使用URI標識服務,SOAP也僅僅使用POST方法發送請求,用一個唯一的URI標識服務的入口。舉一個圖書館在線查詢管理系統爲例,服務提供者必須爲每一本書提供一個內部標識,然後可能定義一個listBooks操作來返回一系列圖書,一個getBook操作來返回指定的圖書,一個createBook操作來向數據庫加入新增的圖書,一個deleteBook操作來刪除作廢的圖書,每個操作都有各自的參數,尤其是用內部標識來標識操作的圖書。這種設計被詬病之處,在於deleteBook操作也要用POST方法來發送,而其實HTTP協議有更和邏輯的DELETE方法可用。REST正是這樣設計的,REST爲每一個資源(此處是圖書)指定一個唯一的URI,而用HTTP的4種方法GET、POST、PUT、DELETE直觀地表示獲取、創建、更新和刪除圖書。同時圖書集合也是和單本的圖書不同的資源,如果用/books來代表圖書列表,/books/ID來代表標識爲ID的圖書,那麼對/books的GET操作就代表返回整個圖書列表,對/books/ID的DELETE操作代表刪除指定的圖書,等等。

感覺應該先講SOAP。SOAP是一個有着嚴格規範的通信協議,它有自己的語法(雖然已經很簡單了),但是在實際操作來看顯得麻煩。REST的無狀態特性,將對象和操作都抽象成資源,對資源直接進行操作。(看上去很好哈)

但是看大佬辯證的看待問題闡述觀點(鏈接https://www.cnblogs.com/MissQing/p/7240146.html),咱這裏還沒開始用,就先不評價了。

不定期更新ing------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章