Web Service的傳輸協議概述

                             Web Service的傳輸協議概述
在ASP.NET 中,XML Web Service支持3種協議來與用戶交流數據。
        這3種協議分別是:
        1.HTTP-GET
        2.HTTP-POST 
        3.SOAP 

         在這3種協議中,HTTP(Hypertext Transfer Protocol)已經是衆所周知的協議了,它是XML Web Service數據傳輸的尺度,其中包括使用SOAP傳輸數據。HTTP將SOAP動靜壓縮,然後以HTTP傳輸協議的形式進行網絡傳輸。然而在XML Web Service下使用HTTP-GET和HTTP-POST的時候,事實上是指有關單獨使用HTTP調用XML Web Service中的方法的能力,而不使用SOAP。 

         在HTTP中,GET和POST並不是一種協議,它們是可以用來與Web Service交互的幾種方法中的其中兩種。然而,這二種方法的傳送參數和數據的能力使它們變成了一種簡樸的,非常適合來調用XML Web Service的工具。 

         SOAP是XML Web Service最常用到的連接協議。與HTTP比擬,SOAP顯的更爲複雜,但卻擁有更強的接受能力。SOAP是一種以XML爲基礎的協議,它提供一種將數據打包(Packaging)和編碼(Encoding)的方法,以用於網絡的數據傳輸。任意一個用戶都可以使用SOAP協議與任何一個XML Web Service進行通訊,甚至於這個XML Web Service不是建立在.NET 平臺上的,好比說Java的,都可以利用SOAP來進行數據傳輸。因此可見,SOAP也是Language Independent(語言獨立性)。 

        HTTP-GET 和 HTTP-POST 是使用 HTTP(超文本傳輸協議)謂詞以及與之聯繫關係的哀求語義將參數作爲名稱/值對編碼和傳遞的尺度協議。每個協議都由一系列 HTTP 哀求頭組成,這些頭與一些其他信息一起定義客戶端向服務器哀求的內容,而在成功時,服務器將用一系列 HTTP 響應頭和所哀求的數據響應。
1. HTTP-GET的處理特徵如下:
      a 將數據添加到URL。
      b 利用一個問號(“?”)代表URL地址的結尾與數據的開端。 
      c 每一個數據的元素以 名稱/值的形式泛起。
      d 利用一個分號(“;”)來區分多個數據元素。
2. HTTP-POST的處理特徵如下: 
      a 將數據包括在HTTP主體中。
      b 同樣的,數據的元素以名稱/值的形式泛起。
      c 但是每一個數據元素分別佔用主體的一行。 
SOAP協議,SOAP(Simple Object Access Protocol)簡樸對象訪問協議,它是輕型協議,用於分散的、分佈式計算環境中交換信息。SOAP有助於以獨立於平臺的方式訪問對象、服務和服務器。它藉助於XML,提供了HTTP所需的擴展。

        SOAP協議規範由4個主要的部門組成。 第一部門:SOAP封裝(Envelop)定義了一個描述動靜的內容多少、誰發送、誰應當接受並且處理以及如何處理它們的框架。

        第二部分:SOAP編碼規則(Encoding Rules)定義了可選數據編碼規則,用於表示應用程序定義的數據類型和直接圖表,以及一個用於序列化非語法數據模型同一尺度。 
     
        第三部分:SOAP RPC表示(RPC Representation)定義一個遠程調用風格(哀求/響應)信息交換的模式。 

       第四部分:SOAP綁定(Binding)定義了SOAP和HTTP之間的綁定和使用底層協議的交換。 SOAP協議可以簡樸地輿解爲:SOAP=RPC+HTTP+XML,即採用HTTP作爲通訊協議,RPC作爲一致性的調用途徑,XML作爲數據傳送的格局,從而答應服務提供者和服務客戶經由防火牆在Internet長進行通訊交互。


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