http協(xié)議與soap協(xié)議之間的區(qū)別
http是標(biāo)準(zhǔn)超文本傳輸協(xié)議冈在。使用對參數(shù)進(jìn)行編碼并將參數(shù)作為鍵值對傳遞樊卓,還使用關(guān)聯(lián)的請求語義。每個(gè)協(xié)議都包含一系列HTTP請求標(biāo)頭及其他一些信息,定義客戶端向服務(wù)器請求哪些內(nèi)容捏肢,服務(wù)器用一系列HTTP響應(yīng)標(biāo)頭和所請求的數(shù)據(jù)進(jìn)行響應(yīng)。HTTP-GET 使用 MIME 類型application/x-www-form-urlencoded(將追加到處理請求的服務(wù)器的 URL 中)以 URL 編碼文本的形式傳遞其參數(shù)抓歼。 URL 編碼是一種字符編碼形式钞螟,可確保傳遞的參數(shù)中包含一致性文本,例如將空格編碼為 %20绸狐,其它符號(hào)轉(zhuǎn)換為%XX,其中XX為該符號(hào)以16進(jìn)制表示的ASCII(或ISOLatin-1)值卤恳。 追加的參數(shù)也稱為查詢字符串;HTTP-POST參數(shù)也是 URL 編碼的,但是寒矿,鍵/值對是在實(shí)際的 HTTP 請求消息內(nèi)部傳遞的突琳,而不是作為 URL 的一部分進(jìn)行傳遞。
SOAP(Simple Object AccessProtocol)簡單對象訪問協(xié)議符相。它是輕型協(xié)議拆融,用于分散的、分布式計(jì)算環(huán)境中交換信息啊终。SOAP有助于以獨(dú)立于平臺(tái)的方式訪問對象镜豹、服務(wù)和服務(wù)器。它借助于XML蓝牲,提供了HTTP所需的擴(kuò)展趟脂。
SOAP協(xié)議規(guī)范由4個(gè)主要的部分組成。
第一部分:SOAP封裝(Envelop)定義了一個(gè)的框架(描述消息的內(nèi)容多少例衍、誰發(fā)送昔期、誰應(yīng)當(dāng)接受、處理佛玄,以及如何處理它們)硼一。
第二部分:SOAP編碼規(guī)則(Encoding Rules)定義了可選數(shù)據(jù)編碼規(guī)則,用于表示應(yīng)用程序定義的數(shù)據(jù)類型和直接圖表梦抢,以及一個(gè)用于序列化非語法數(shù)據(jù)模型統(tǒng)一標(biāo)準(zhǔn)欠动。
第三部分:SOAP RPC表示(RPC Representation)定義一個(gè)遠(yuǎn)程調(diào)用風(fēng)格(請求/響應(yīng))信息交換的模式。
第四部分:SOAP綁定(Binding)定義了SOAP和HTTP之間的綁定和使用底層協(xié)議的交換。
SOAP:簡單對象訪問協(xié)議具伍,簡單對象訪問協(xié)議(SOAP)是一種輕量的翅雏、簡單的、基于 XML 的協(xié)議人芽,它被設(shè)計(jì)成在 WEB 上交換結(jié)構(gòu)化的和固化的信息望几。 SOAP 可以和現(xiàn)存的許多因特網(wǎng)協(xié)議和格式結(jié)合使用,包括超文本傳輸協(xié)議( HTTP)萤厅,簡單郵件傳輸協(xié)議(SMTP)橄抹,多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)。它還支持從消息系統(tǒng)到遠(yuǎn)程過程調(diào)用(RPC)等大量的應(yīng)用程序惕味。SOAP協(xié)議可以簡單地理解為:SOAP=RPC+HTTP+XML楼誓,即采用HTTP作為通信協(xié)議,RPC(Remote Procedure Call Protocol 遠(yuǎn)程過程調(diào)用協(xié)議)作為一致性的調(diào)用途徑名挥,XML作為數(shù)據(jù)傳送的格式疟羹,從而允許服務(wù)提供者和服務(wù)客戶經(jīng)過防火墻在Internet上進(jìn)行通信交互。
SOAP與HTTP的區(qū)別
都是底層的通信協(xié)議禀倔,請求包的格式不同榄融,soap包是XML格式,http純文本格式
soap 的 可以傳遞結(jié)構(gòu)化的 數(shù)據(jù),http只能傳輸純文本數(shù)據(jù)救湖;
SOAP:簡單對象訪問協(xié)議 http是標(biāo)準(zhǔn)超文本傳輸協(xié)議
SOAP相對http(post/get)由于要進(jìn)行xml解析愧杯,速度可能會(huì)有所降低。