什麼是web service?- SOAP Web Service & Restful Web Service

殷老實發表於2016-09-27

web service 就是一種網路服務, 它通過 HTTP(大多數情況) 使用 SOAP message 對資料進行請求和反應。 


舉例: 比如我們建立了一個簡單計算器的web service, 那麼別人可以通過使用 SOAP message進行對資料的請求, 當我們的計算器web service接收到使用者的請求的時候, 我們會先在終端對使用者的請求進行處理,之後同樣的返回一個SOAP message到使用者。


在完全弄清楚web service之前, 需要了解幾個定義。

1. 什麼是SOAP?

2. 什麼是Soap message?

3. 如何生成Soap message?


1. 答: SOAP :Simple Object Access Protocol.  它是一種傳輸協議, 用來定義在 應用和應用之間傳輸資訊的協議, 簡單來講就是一種標準,生成和返回的soap message 應該是一種什麼形式。 SOAP 通過 大多數情況下通過http進行傳輸。


2. 答: SOAP message 就是一個soap 的請求或者回應。它基於XML。 簡單來講它就是按照soap的語法使用XML進行編寫的程式碼。


3. 答:我們現在明白了,要想使用我們的計算器web service。我們首先使用xml按照soap的標準來寫程式碼,寫的程式碼是用來向我們的計算器web service進行請求計算的。那我們該如何定位我們的web service呢?對於輸入引數的要求又是什麼呢? 返回引數的意義又是什麼呢? 對於這一系列的問題,我們可以使用WSDL來進行回答。 


WSDL : Web Service Description Language. 簡單來講,就是一種基於XML的文件,通過這種文件,我們能夠知道如果定位web service,知道各個引數、方法各是什麼。

另外摘取別人的一個例子流程幫助大家理解。

客戶端——> 閱讀WSDL文件 (根據文件生成SOAP請求) ——>傳送到Web伺服器——>交給WebService請求處理器 (ISAPI Extension)

——>處理SOAP請求——> 呼叫WebService——>生成SOAP應答 ——> Web伺服器通過http的方式交給客戶端


//***我是分割線*****


以上使用介紹的web service是soap web service, 那麼還有其他的什麼的web service嗎? 答案是有的。 

另外一種型別是 RESTful web service ( Representational State Transfer). 它的用處是和soap web service是一樣的,都是處理使用者的請求然後返回給使用者結果。

區別?


SOAP Web Service RESTful Web Service
SOAP是一種協議 REST是一種結構
全稱是Simple Object Access Protocol 全稱是Representationnal State Transfer
不能使用REST,因為它自己是一種協議 可以使用SOAP
使用介面去使用web service提供的服務 使用URI去使用service提供的服務
SOAP必須嚴格按照一定的標準 沒有太多標準的限制
對比REST需要更多的頻寬等 更少的頻寬
有自己的安全機制 繼承來自它使用的協議的安全機制
僅僅能使用XML格式 格式不限 - JSON, XML, HTML, etc
優先使用!



 

如有錯誤歡迎指出!


reference: http://www.cnblogs.com/codelir/p/5476517.html


相關文章