WebSerivce與WebAPI的區別


一、什么是Web Service

Web Service技術, 能使得運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件, 就可相互交換數據或集成。依據Web Service規范實施的應用之間, 無論它們所使用的語言、 平台或內部協議是什么, 都可以相互交換數據。

WebService的數據格式是XML,消息體比較大,不如Web API簡潔。

WebService是個很重型的規范,它的應用協議是SOAP(簡單對象訪問協議),它所依賴的下層通信方式不單單是HTTP,也有SOAP over SMTP, SOAP over  TCP  ,由於 HTTP  協議群眾基礎廣,開發調試方便,所以,成了WebService中最為流行的方式。

在某些業務復雜,穩定性和正確性要求高的領域(如ERP、電商、支付),WebService還有是用武之地的。

二、什么是Web API

Web API是網絡應用程序接口。包含了廣泛的功能,網絡應用通過API接口,可以實現存儲服務、消息服務、計算服務等能力,利用這些能力可以進行開發出強大功能的web應用。

它可以對接各種客戶端(瀏覽器,移動設備),構建http服務的框架

Web API 入門指南:https://www.cnblogs.com/guyun/p/4589115.html

三、Web Service與Web API的關系

1. Web Service用的是SOAP協議,Web API用的是HTTP協議

http:是一個客戶端和服務器端請求和應答的標准(TCP)。http協議其目的是為了提供一種發布和接收htttp頁面的方法

一http協議的客戶端與服務器的交互:由HTTP客戶端發起一個請求,建立一個到服務器指定端口(默認是80端口)的TCP連接。HTTP服務器則在那個端口監聽客戶端發送過來的請求。一旦收到請求,服務器(向客戶端)發回一個狀態行,比如”HTTP/1.1 200 OK”,和(響應的)消息,消息的消息體可能是請求的文件、錯誤消息、或者其它一些信息。

soap 協議:它描述了一種在分散或分布式的環境中如何交換信息的輕量級協議。soap在http協議的基礎上,一個基於XML的協議。

不同:都是底層的通信協議,請求包的格式不同而已,soap包是XML格式,http純文本格式。

關系:SOAP是個通信協議, SOAP在HTTP協議的基礎上,把編寫成XML的REQUEST參數, 放在HTTP BODY上提交個WEB SERVICE服務器(SERVLET,ASP什么的) 處理完成后,結果也寫成XML作為RESPONSE送回用戶端, 為了使用戶端和WEB SERVICE可以相互對應,可以使用WSDL作為這種通信方式的描述文件,利用WSDL工具可以自動生成WS和用戶端的框架文件,SOAP具備把復雜對象序列化捆綁到XML里去的能力。

2.數據傳輸中 XML與Json

Json的優點:數據結構清晰,可讀性比XML強,解析規則簡單;輕量級,靈活,性能比XML高

Json的缺點:數據類型定義不明確,如:{"price":12580}在json里,你無法知道這個價格是int, float還是double。

XML的優點:功能強大,數據類型強大,對數據內容的描述准確,有了它,媽媽再也不用擔心后端發來的數據格式不對了。

XML的缺點:過分臃腫,有時強大的功能並不是我們所需要的;解析規則多,對追求高開發速度和低開發門檻的企業來說,是個致命傷。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM