Web API和Web Service的區別


 首先,Web API是由Web Service演變而來,它們兩者關系就是所有Web Service都是API,但並非所有API都是Web Service。其次,兩者都有利於信息的傳輸,但Web API比Web Service更具靈活性。最后,我們來看看它們之間的具體差別,以及我們該如何去區分。

什么是WEB Service?

      引用一句定義,即WebService是一種跨編程語言和跨操作系統平台的遠程調用技術。主要依賴於XML-RPC和SOAP(簡單對象訪問協議)等標准,通過HTTP協議進行交互。(舉例)

什么是Web API?

      API是一組指定應用程序之間交互的規則或者說協議,通過API可以實現軟件應用之間的相互通信。Web API可以使用任何類型的通信協議,數據交互格式為XML以及JSON。(舉例)

Web API和Web Service有哪些區別?

      Web API與Web Service都是實現RPC(遠程過程調用)的通信手段。兩者都支持基於XML格式的數據傳輸,但在實際生產過程中Web API的常見的數據類型格式主要還是JSON。

將Web Service與Web API進行比較時,或者在兩種RPC方式中做選擇時,有一個關鍵參考值,即調用者和提供者對數據序列化和反序列化(打包和解包)的工作量。對JSON進行序列化和反序列化需要工作量通常比XML序列化和反序列化的少得多,而且JSON也比XML更加輕量,這就是使得JSON在解析速率方面更快,對帶寬的要求更低。

      另外,Web API的客戶端系統(調用者)和服務系統(提供者)彼此獨立,調用者可以輕易的使用不同的語言(Java,Python,Ruby等)進行API的調用。Web Service通常僅在兩個系統之間交互,幾乎總是依賴於類似XML-RPC的接口來相互通信,並且不同的客戶端下各瀏覽器對XML的解析方式不一致,需要重復編寫很多代碼。

      總結一下,Web Service更加適合為端到端的場景提供服務,Web API則更加適合為應用到應用的場景提供服務。這也可以解釋為什么C/S(客戶機/服務器)架構的程序還在沿用Web Service,而B/S(瀏覽器/服務器)架構幾乎很少見到。當然,無論您想通過Web API實現什么,Web Service同樣也能做到,畢竟在Web API還沒有誕生以前Web Service就已經可以獨挑大梁了。


免責聲明!

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



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