?喜歡請(qǐng)點(diǎn)個(gè)贊吧?
在前段時(shí)間的工作中,對(duì)一些應(yīng)用程序的接口進(jìn)行了滲透測(cè)試纱皆,偶然間接觸到了SOAP協(xié)議派草。SOAP到底是什么呢近迁?與我們熟悉的HTTP協(xié)議又有什么區(qū)別?
webService三要素
SOAP歧譬、WSDL(WebServicesDescriptionLanguage)瑰步、UDDI(UniversalDescriptionDiscovery andIntegration)之一缩焦, soap用來(lái)描述傳遞信息的格式责静, WSDL 用來(lái)描述如何訪問具體的接口, uddi用來(lái)管理题翻,分發(fā)嵌赠,查詢webService 。具體實(shí)現(xiàn)可以搜索 Web Services簡(jiǎn)單實(shí)例 ; SOAP 可以和現(xiàn)存的許多因特網(wǎng)協(xié)議和格式結(jié)合使用猾普,包括超文本傳輸協(xié)議(HTTP)初家,簡(jiǎn)單郵件傳輸協(xié)議(SMTP)溜在,多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)掖肋。它還支持從消息系統(tǒng)到遠(yuǎn)程過(guò)程調(diào)用(RPC)等大量的應(yīng)用程序志笼。SOAP使用基于XML的數(shù)據(jù)結(jié)構(gòu)和超文本傳輸協(xié)議(HTTP)的組合定義了一個(gè)標(biāo)準(zhǔn)的方法來(lái)使用Internet上各種不同操作環(huán)境中的分布式對(duì)象纫溃。
簡(jiǎn)單對(duì)象訪問協(xié)議 Simple Object Access Protocol(SOAP)
簡(jiǎn)單對(duì)象訪問協(xié)議是交換數(shù)據(jù)的一種協(xié)議規(guī)范紊浩,是一種輕量的疗锐、簡(jiǎn)單的滑臊、基于XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)子集)的協(xié)議简珠,它被設(shè)計(jì)成在WEB上交換結(jié)構(gòu)化的和固化的信息。
網(wǎng)絡(luò)服務(wù)描述語(yǔ)言(Web Services Description Language膘融,WSDL)
網(wǎng)絡(luò)服務(wù)描述語(yǔ)言(Web Services Description Language氧映,WSDL)是一種基于可擴(kuò)展標(biāo)記語(yǔ)言(XML)的語(yǔ)言律姨,它用來(lái)描述業(yè)務(wù)提供的服務(wù)臼疫,并為個(gè)人和其他企業(yè)提供一種以電子形式獲得這些服務(wù)的方法烫堤。網(wǎng)絡(luò)服務(wù)描述語(yǔ)言是由微軟、IBM和Ariba所倡議的統(tǒng)一描述拔创、發(fā)現(xiàn)和集成(UDDI)的基石剩燥。UDDI是一種基于XML的世界業(yè)務(wù)注冊(cè)表立倍,這樣企業(yè)就可以在互聯(lián)網(wǎng)上列出自己的企業(yè)名稱和服務(wù)灭红。網(wǎng)絡(luò)服務(wù)描述語(yǔ)言(WSDL)就是這樣用的。
網(wǎng)絡(luò)服務(wù)描述語(yǔ)言(WSDL)是源自微軟的簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP)和IBM的網(wǎng)絡(luò)訪問服務(wù)規(guī)范語(yǔ)言(NASSL)口注。作為在UDDI注冊(cè)中心表達(dá)商業(yè)服務(wù)的方式比伏,網(wǎng)絡(luò)服務(wù)描述語(yǔ)言取代了NASSL和SOAP。
UDDI ("Universal Description, Discovery and Integration"疆导,“通用描述赁项、發(fā)現(xiàn)與集成服務(wù))
UDDI 是一個(gè)獨(dú)立于平臺(tái)的框架,用于通過(guò)使用 Internet 來(lái)描述服務(wù)澈段,發(fā)現(xiàn)企業(yè)悠菜,并對(duì)企業(yè)服務(wù)進(jìn)行集成。
UDDI 指的是通用描述败富、發(fā)現(xiàn)與集成服務(wù)
UDDI 是一種用于存儲(chǔ)有關(guān) web services 的信息的目錄悔醋。
UDDI 是一種由 WSDL 描述的 web services 界面的目錄芬骄。
UDDI 經(jīng)由 SOAP 進(jìn)行通信
UDDI 被構(gòu)建入了微軟的 .NET 平臺(tái)
SOAP與HTTP區(qū)別
http是標(biāo)準(zhǔn)超文本傳輸協(xié)議。
使用對(duì)參數(shù)進(jìn)行編碼并將參數(shù)作為鍵值對(duì)傳遞,還使用關(guān)聯(lián)的請(qǐng)求語(yǔ)義撇贺。每個(gè)協(xié)議都包含一系列HTTP請(qǐng)求標(biāo)頭及其他一些信息,定義客戶端向服務(wù)器請(qǐng)求哪些內(nèi)容,服務(wù)器用一系列HTTP響應(yīng)標(biāo)頭和所請(qǐng)求的數(shù)據(jù)進(jìn)行響應(yīng)。HTTP-GET 使用 MIME 類型application/x-www-form-urlencoded(將追加到處理請(qǐng)求的服務(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 編碼的,但是,鍵/值對(duì)是在實(shí)際的 HTTP 請(qǐng)求消息內(nèi)部傳遞的,而不是作為 URL 的一部分進(jìn)行傳遞袱衷。
SOAP協(xié)議規(guī)范由4個(gè)主要的部分組成排截。
SOAP(Simple Object AccessProtocol)簡(jiǎn)單對(duì)象訪問協(xié)議。它是輕型協(xié)議,用于分散的宦搬、分布式計(jì)算環(huán)境中交換信息。SOAP有助于以獨(dú)立于平臺(tái)的方式訪問對(duì)象、服務(wù)和服務(wù)器。它借助于XML找蜜,提供了HTTP所需的擴(kuò)展诚纸。
第一部分:SOAP封裝(Envelop)定義了一個(gè)的框架(描述消息的內(nèi)容多少井辆、誰(shuí)發(fā)送、誰(shuí)應(yīng)當(dāng)接受、處理,以及如何處理它們)才写。
第二部分:SOAP編碼規(guī)則(Encoding Rules)定義了可選數(shù)據(jù)編碼規(guī)則,用于表示應(yīng)用程序定義的數(shù)據(jù)類型和直接圖表,以及一個(gè)用于序列化非語(yǔ)法數(shù)據(jù)模型統(tǒng)一標(biāo)準(zhǔn)婴削。
第三部分:SOAP RPC表示(RPC Representation)定義一個(gè)遠(yuǎn)程調(diào)用風(fēng)格(請(qǐng)求/響應(yīng))信息交換的模式雹姊。
第四部分:SOAP綁定(Binding)定義了SOAP和HTTP之間的綁定和使用底層協(xié)議的交換镰惦。
都是底層的通信協(xié)議,請(qǐng)求包的格式不同,soap包是XML格式,http純文本格式
soap 的 可以傳遞結(jié)構(gòu)化的 數(shù)據(jù)行瑞,http只能傳輸純文本數(shù)據(jù)讹蘑;
SOAP:簡(jiǎn)單對(duì)象訪問協(xié)議? ? ? ? ? ? http是標(biāo)準(zhǔn)超文本傳輸協(xié)議
SOAP相對(duì)http(post/get)由于要進(jìn)行xml解析,速度可能會(huì)有所降低优烧。
參考 https://blog.csdn.net/ttxs99989/article/details/81294958