首頁 > 軟體

什麼是SOAP?SOAP有什麼用?什麼時候會用到SOAP?

2020-10-28 15:30:07

什麼是SOAP

SOAP(Simple Object Access Protocol)一般指簡單物件存取協定,簡單物件存取協定是交換資料的一種協定規範,是一種輕量的、簡單的、基於XML(標準通用標示語言下的一個子集)的協定,它被設計成在WEB上交換結構化的和固化的資訊.## 核心技術  SOAP採用了已經廣泛使用的兩個協定:HTTP 和XML(標準通用標示語言下的一個子集)。HTTP用於實現 SOAP 的RPC 風格的傳輸, 而XML 是它的編碼模式。採用幾行程式碼和一個XML 解析器, HTTP 伺服器( MS 的 IIS 或 Apache) 立刻成為SOAP 的 ORBS。SOAP 通訊協定使用 HTTP 來傳送XML 格式的資訊。HTTP與RPC 的協定很相似,它簡單、 設定廣泛,並且對防火牆比其它協定更容易發揮作用。HTTP 請求一般由 Web 伺服器軟體(如 IIS 和Apache)來處理, 但越來越多的應用伺服器產品正在支援HTTP。XML 作為一個更好的網路資料表達方式( NDR)。SOAP 把 XML 的使用程式碼化為請求和響應引數編碼模式, 並用HTTP 作傳輸。具體地講, 一個SOAP 方法可以簡單地看作遵循SOAP編碼規則的HTTP請求和響應, 一個 SOAP終端則可以看作一個基於HTTP 的URL, 它用來識別方法呼叫的目標。像CORBA/ IIOP一樣, SOAP不需要具體的物件繫結到一個給定的終端, 而是由具體實現程式來決定怎樣把物件終端識別符號映像到伺服器端的物件。

優點

1.可延伸的。SOAP 無需中斷已有的應用程式, SOAP 使用者端、 伺服器和協定自身都能發展。而且SOAP 能極好地支援中間媒介和層次化的體系結構。

2.簡單的。使用者端傳送一個請求,呼叫相應的物件, 然後伺服器返回結果。這些訊息是XML 格式的,並且封裝成符合HTTP 協定的訊息。因此,它符合任何路由器、 防火牆或代理伺服器的要求。

3.完全和廠商無關。SOAP可以相對於平臺、 作業系統、 目標模型和程式語言獨立實現。另外,傳輸和語言繫結以及資料編碼的引數選擇都是由具體的實現決定的。

4.與程式語言無關。SOAP 可以使用任何語言來完成,只要使用者端傳送正確SOAP 請求( 也就是說, 傳遞一個合適的引數給一個實際的遠端伺服器)。SOAP 沒有物件模型,應用程式可以捆綁在任何物件模型中。

5.與平臺無關。SOAP 可以在任何作業系統中無需改動正常執行。

Why SOAP?

對於應用程式開發來說,使程式之間進行因特網通訊是很重要的。

目前的應用程式通過使用遠端過程呼叫(RPC)在諸如 DCOM 與 CORBA 等物件之間進行通訊,但是 HTTP 不是為此設計的。RPC 會產生相容性以及安全問題;防火牆和代理伺服器通常會阻止此類流量。

通過 HTTP 在應用程式間通訊是更好的方法,因為 HTTP 得到了所有的因特網瀏覽器及伺服器的支援。SOAP 就是被創造出來完成這個任務的。

SOAP 提供了一種標準的方法,使得執行在不同的作業系統並使用不同的技術和程式語言的應用程式可以互相進行通訊。

參考

https://blog.csdn.net/baidu_25340817/article/details/82253826

https://www.w3school.com.cn/soap/soap_intro.asp

http協定與soap協定之間的區別 https://blog.csdn.net/ttxs99989/article/details/81294958

https://baike.baidu.com/item/簡單物件存取協定/3841505


IT145.com E-mail:sddin#qq.com