初識SOAP協(xié)議及webService

?喜歡請點個贊吧?

在前段時間的工作中,對一些應(yīng)用程序的接口進行了滲透測試,偶然間接觸到了SOAP協(xié)議。SOAP到底是什么呢?與我們熟悉的HTTP協(xié)議又有什么區(qū)別?

webService三要素

SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)之一, soap用來描述傳遞信息的格式, WSDL 用來描述如何訪問具體的接口, uddi用來管理,分發(fā),查詢webService 。具體實現(xiàn)可以搜索 Web Services簡單實例 ; SOAP 可以和現(xiàn)存的許多因特網(wǎng)協(xié)議和格式結(jié)合使用,包括超文本傳輸協(xié)議(HTTP),簡單郵件傳輸協(xié)議(SMTP),多用途網(wǎng)際郵件擴充協(xié)議(MIME)。它還支持從消息系統(tǒng)到遠程過程調(diào)用(RPC)等大量的應(yīng)用程序。SOAP使用基于XML的數(shù)據(jù)結(jié)構(gòu)超文本傳輸協(xié)議(HTTP)的組合定義了一個標準的方法來使用Internet上各種不同操作環(huán)境中的分布式對象。

簡單對象訪問協(xié)議 Simple Object Access Protocol(SOAP)

簡單對象訪問協(xié)議是交換數(shù)據(jù)的一種協(xié)議規(guī)范,是一種輕量的、簡單的、基于XML標準通用標記語言下的一個子集)的協(xié)議,它被設(shè)計成在WEB上交換結(jié)構(gòu)化的和固化的信息。

網(wǎng)絡(luò)服務(wù)描述語言(Web Services Description Language,WSDL)

網(wǎng)絡(luò)服務(wù)描述語言(Web Services Description Language,WSDL)是一種基于可擴展標記語言(XML)的語言,它用來描述業(yè)務(wù)提供的服務(wù),并為個人和其他企業(yè)提供一種以電子形式獲得這些服務(wù)的方法。網(wǎng)絡(luò)服務(wù)描述語言是由微軟、IBM和Ariba所倡議的統(tǒng)一描述、發(fā)現(xiàn)和集成(UDDI)的基石。UDDI是一種基于XML的世界業(yè)務(wù)注冊表,這樣企業(yè)就可以在互聯(lián)網(wǎng)上列出自己的企業(yè)名稱和服務(wù)。網(wǎng)絡(luò)服務(wù)描述語言(WSDL)就是這樣用的。

網(wǎng)絡(luò)服務(wù)描述語言(WSDL)是源自微軟的簡單對象訪問協(xié)議(SOAP)和IBM的網(wǎng)絡(luò)訪問服務(wù)規(guī)范語言(NASSL)。作為在UDDI注冊中心表達商業(yè)服務(wù)的方式,網(wǎng)絡(luò)服務(wù)描述語言取代了NASSL和SOAP。

UDDI ("Universal Description, Discovery and Integration",“通用描述、發(fā)現(xiàn)與集成服務(wù))

UDDI 是一個獨立于平臺的框架,用于通過使用 Internet 來描述服務(wù),發(fā)現(xiàn)企業(yè),并對企業(yè)服務(wù)進行集成。

UDDI 指的是通用描述、發(fā)現(xiàn)與集成服務(wù)

UDDI 是一種用于存儲有關(guān) web services 的信息的目錄。

UDDI 是一種由 WSDL 描述的 web services 界面的目錄。

UDDI 經(jīng)由 SOAP 進行通信

UDDI 被構(gòu)建入了微軟的 .NET 平臺

SOAP與HTTP區(qū)別

http是標準超文本傳輸協(xié)議。

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

SOAP協(xié)議規(guī)范由4個主要的部分組成。

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

第一部分:SOAP封裝(Envelop)定義了一個的框架(描述消息的內(nèi)容多少、誰發(fā)送、誰應(yīng)當接受、處理,以及如何處理它們)。

第二部分:SOAP編碼規(guī)則(Encoding Rules)定義了可選數(shù)據(jù)編碼規(guī)則,用于表示應(yīng)用程序定義的數(shù)據(jù)類型和直接圖表,以及一個用于序列化非語法數(shù)據(jù)模型統(tǒng)一標準。

第三部分:SOAP RPC表示(RPC Representation)定義一個遠程調(diào)用風格(請求/響應(yīng))信息交換的模式。

第四部分:SOAP綁定(Binding)定義了SOAP和HTTP之間的綁定和使用底層協(xié)議的交換。

都是底層的通信協(xié)議,請求包的格式不同,soap包是XML格式,http純文本格式

soap 的 可以傳遞結(jié)構(gòu)化的 數(shù)據(jù),http只能傳輸純文本數(shù)據(jù);

SOAP:簡單對象訪問協(xié)議? ? ? ? ? ? http是標準超文本傳輸協(xié)議

SOAP相對http(post/get)由于要進行xml解析,速度可能會有所降低。

參考 https://blog.csdn.net/ttxs99989/article/details/81294958

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • SOA:(Service-Oriented Architecture)(面向服務(wù)的架構(gòu))它是有利于在不同應(yīng)用程序間...
    秋笙fine閱讀 1,110評論 0 0
  • 在分布式服務(wù)框架中,一個最基礎(chǔ)的問題就是遠程服務(wù)是怎么通訊的,在Java領(lǐng)域中有很多可實現(xiàn)遠程通訊的技術(shù),例如:R...
    java菜閱讀 1,089評論 0 2
  • 這部分主要是與Java Web和Web Service相關(guān)的面試題。 96、闡述Servlet和CGI的區(qū)別? 答...
    雜貨鋪老板閱讀 1,501評論 0 10
  • 朋友昨天失戀了,原因不是不喜歡了只是覺得對象和自己沒有未來,所以分開了。買了第二天的機票,去廈門療傷,他說不難過只...
    Julio_666閱讀 290評論 0 0
  • 信仰的人們,你匍匐前進, 就是為了心中的期盼嗎? 膝上肘上厚厚的補丁, 你曾經(jīng)有什么苦痛嗎? 難道神圣是嬰兒時心里...
    子非魚pai閱讀 353評論 0 3

友情鏈接更多精彩內(nèi)容