什麼是web service?- SOAP Web Service & Restful Web Service
web service 就是一種網路服務, 它通過 HTTP(大多數情況) 使用 SOAP message 對資料進行請求和反應。
舉例: 比如我們建立了一個簡單計算器的web service, 那麼別人可以通過使用 SOAP message進行對資料的請求, 當我們的計算器web service接收到使用者的請求的時候, 我們會先在終端對使用者的請求進行處理,之後同樣的返回一個SOAP message到使用者。
在完全弄清楚web service之前, 需要了解幾個定義。
1. 什麼是SOAP?
2. 什麼是Soap message?
3. 如何生成Soap message?
1. 答: SOAP :Simple Object Access Protocol. 它是一種傳輸協議, 用來定義在 應用和應用之間傳輸資訊的協議, 簡單來講就是一種標準,生成和返回的soap message 應該是一種什麼形式。 SOAP 通過 大多數情況下通過http進行傳輸。
2. 答: SOAP message 就是一個soap 的請求或者回應。它基於XML。 簡單來講它就是按照soap的語法使用XML進行編寫的程式碼。
3. 答:我們現在明白了,要想使用我們的計算器web service。我們首先使用xml按照soap的標準來寫程式碼,寫的程式碼是用來向我們的計算器web service進行請求計算的。那我們該如何定位我們的web service呢?對於輸入引數的要求又是什麼呢? 返回引數的意義又是什麼呢? 對於這一系列的問題,我們可以使用WSDL來進行回答。
WSDL : Web Service Description Language. 簡單來講,就是一種基於XML的文件,通過這種文件,我們能夠知道如果定位web service,知道各個引數、方法各是什麼。
另外摘取別人的一個例子流程幫助大家理解。
客戶端——> 閱讀WSDL文件 (根據文件生成SOAP請求) ——>傳送到Web伺服器——>交給WebService請求處理器 (ISAPI Extension)
——>處理SOAP請求——> 呼叫WebService——>生成SOAP應答 ——> Web伺服器通過http的方式交給客戶端
//***我是分割線*****
以上使用介紹的web service是soap web service, 那麼還有其他的什麼的web service嗎? 答案是有的。
另外一種型別是 RESTful web service ( Representational State Transfer). 它的用處是和soap web service是一樣的,都是處理使用者的請求然後返回給使用者結果。
區別?
SOAP Web Service | RESTful Web Service |
SOAP是一種協議 | REST是一種結構 |
全稱是Simple Object Access Protocol | 全稱是Representationnal State Transfer |
不能使用REST,因為它自己是一種協議 | 可以使用SOAP |
使用介面去使用web service提供的服務 | 使用URI去使用service提供的服務 |
SOAP必須嚴格按照一定的標準 | 沒有太多標準的限制 |
對比REST需要更多的頻寬等 | 更少的頻寬 |
有自己的安全機制 | 繼承來自它使用的協議的安全機制 |
僅僅能使用XML格式 | 格式不限 - JSON, XML, HTML, etc |
優先使用! |
如有錯誤歡迎指出!
reference: http://www.cnblogs.com/codelir/p/5476517.html
相關文章
- Spring Web Service教程SpringWeb
- 教你入門Web ServiceWeb
- Android中的Web ServiceAndroidWeb
- Java:Web Service初入門JavaWeb
- 如何使用ABSL程式碼呼叫Web serviceWeb
- vivo web service:億萬級規模web服務引擎架構Web架構
- More web function requests go online concurrently, and web service deployment is faster and more economical!WebFunctionGoAST
- Service Fabric是什麼?
- Service Worker (Web)推送不完全實踐Web
- SAP CRM如何建立支援Web Service的WORD模板Web
- SAP CRM如何建立支援Web Service的PDF模板Web
- 使用soapUI消費SAP Cloud for Customer的web serviceUICloudWeb
- Web service,XSD及WSDL的一些使用Web
- 如何使用FastReport.Service.dll建立Web服務ASTWeb
- 使用nodejs消費SAP Cloud for Customer上的Web serviceNodeJSCloudWeb
- 如何在SAP CRM裡建立和消費Web serviceWeb
- [譯] Service workers:Progressive Web Apps 背後的小英雄WebAPP
- 如何在 SAP BTP 平臺 ABAP 程式設計環境裡消費基於 SOAP 的 Web Service程式設計Web
- Difference between Microsoft Dynamics 365 WEB API, Organization Service and Organization Data ServicROSWebAPI
- 如何處理SAP CRM Web Service錯誤 - Virtual Interface Method XXXX not supportedWeb
- Liferay Portal Json Web Service 反序列化漏洞(CVE-2020-7961)JSONWeb
- 什麼是資料即服務(Data as a Service)?
- 關於 Service Worker 和 Web 應用對應關係的討論Web
- 如何處理消費SAP ABAP Web Service時遇到的Unauthorized錯誤WebZed
- 漸進式web應用開發---service worker 原理及介紹(一)Web
- Azure Service Bus(三)在 .NET Core Web 應用程式傳送ServiceBus QueueWeb
- 什麼是 Web Workers?Web
- web前端是什麼?Web前端
- 在K8S中,什麼是 Headless Service?K8S
- Service
- 測試必須學spring RESTful Service(上)SpringREST
- 測試必須學 spring RESTful Service (上)SpringREST
- 最詳細的 SAP ABAP Web Service 建立和消費步驟講解Web
- 什麼是Web前端?Web前端要學習什麼內容?Web前端
- Web前端是什麼?Web前端包括哪些技術?Web前端
- 什麼是web組態Web
- Web含義是什麼Web
- 什麼是 Immutable Web AppsWebAPP
- 【Azure DevOps系列】使ASP.NET Core應用程式託管到Azure Web App ServicedevASP.NETWebAPP