HTTP和SOAP完全就是兩個不同的協議

醉意人間發表於2010-03-06

  
    
  HTTP只負責把資料傳送過去,不會管這個資料是XML、HTML、圖片、文字檔案或者別的什麼。而SOAP協議則定義了怎麼把一個物件變成XML文字,在遠端如何呼叫等,怎麼能夠混為一談。   
    
    
    
  這樣說兩種協議:  
  HTTP就是郵局的協議,他們規定了你的信封要怎麼寫,要貼多少郵票等。。。。  
   
  SOAP就是你們之間交流的協議,負責把你所需要表達的意思寫在信紙上,同時也負責讓對方能夠看得懂你的信。

 

 

Web service一般就是用SOAP協議通過HTTP來呼叫它,其實他就是一個WSDL文件,客戶都可以閱讀WSDL文件來用這個Web service。客戶根據WSDL描述文件,會生成一個SOAP請求訊息。Web service都是放在Web伺服器 (如IIS) 後面的,客戶生成的SOAP請求會被嵌入在一個HTTP POST請求中,傳送到Web伺服器來。Web伺服器再把這些請求轉發給Web service請求處理器。請求處理器的作用在於,解析收到的SOAP請求,呼叫Web service,然後再生成相應的SOAP應答。Web伺服器得到SOAP應答後,會再通過HTTP應答的方式把它送回到客戶端。

 

 webService協議主要包括兩個方面:傳輸協議和資料表示,關於傳輸協議可以是http或其他,資料表示也可以是鍵值對、xml或其他,只不過現在通用的是http+soap,當然其他的也可以,不知道這樣理解對不對?

 

SOAP簡單的理解,就是這樣的一個開放協議SOAP=RPC+HTTP+XML:採用HTTP作為底層通訊協議;RPC作為一致性的呼叫途徑,XML作為資料傳送的格式,允許服務提供者和服務客戶經過防火牆在INTERNET進行通訊互動。


相關文章