http協議與soap協議之間的區別

原文鏈接:https://blog.csdn.net/ttxs99989/article/details/81294958

http是標準超文本傳輸協議。使用對參數進行編碼並將參數作爲鍵值對傳遞,還使用關聯的請求語義。每個協議都包含一系列HTTP請求標頭及其他一些信息,定義客戶端向服務器請求哪些內容,服務器用一系列HTTP響應標頭和所請求的數據進行響應。HTTP-GET 使用 MIME 類型application/x-www-form-urlencoded(將追加到處理請求的服務器的 URL 中)以 URL 編碼文本的形式傳遞其參數。 URL 編碼是一種字符編碼形式,可確保傳遞的參數中包含一致性文本,例如將空格編碼爲 %20,其它符號轉換爲%XX,其中XX爲該符號以16進製表示的ASCII(或ISOLatin-1)值。 追加的參數也稱爲查詢字符串;HTTP-POST參數也是 URL 編碼的,但是,鍵/值對是在實際的 HTTP 請求消息內部傳遞的,而不是作爲 URL 的一部分進行傳遞。

SOAP(Simple Object AccessProtocol)簡單對象訪問協議。它是輕型協議,用於分散的、分佈式計算環境中交換信息。SOAP有助於以獨立於平臺的方式訪問對象、服務和服務器。它藉助於XML,提供了HTTP所需的擴展。

SOAP協議規範由4個主要的部分組成。
第一部分:SOAP封裝(Envelop)定義了一個的框架(描述消息的內容多少、誰發送、誰應當接受、處理,以及如何處理它們)。
第二部分:SOAP編碼規則(Encoding Rules)定義了可選數據編碼規則,用於表示應用程序定義的數據類型和直接圖表,以及一個用於序列化非語法數據模型統一標準。
第三部分:SOAP RPC表示(RPC Representation)定義一個遠程調用風格(請求/響應)信息交換的模式。
第四部分:SOAP綁定(Binding)定義了SOAP和HTTP之間的綁定和使用底層協議的交換

SOAP
是一個基於XML的協議交換消息,可以使用HTTP來傳輸這些信息。事實上HTTP是SOAP消息的最常見的傳輸工具。soap將信息進行XML的序列化後,再用http協議的方式再打包進行傳送,傳送的方式還是tcp或者udp。做個比喻就好理解了。tcp 和 udp 都是公路,暫且把tcp認爲是一般公路,udp高速公路,soap和http就都是汽車,那麼soap和http都可以在tcp和udp上跑。說soap可以通過http來傳送,實際就是說soap是小轎車,http是裝轎車的卡車,把soap的信息裝到http裏面,然後再運輸,當然走的道路還是tcp或udp。說soap可以通過http協議來傳輸,這句話不太準確,比較準確第說法是:soap信息可以通過http協議包裝後通過tcp或udp傳輸

SOAP與HTTP的區別
都是底層的通信協議,請求包的格式不同,soap包是XML格式,http純文本格式
soap 的 可以傳遞結構化的 數據,http只能傳輸純文本數據;
SOAP:簡單對象訪問協議 http是標準超文本傳輸協議
SOAP相對http(post/get)由於要進行xml解析,速度可能會有所降低

————————————————
版權聲明:本文爲CSDN博主「ttxs99989」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ttxs99989/article/details/81294958

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