[英]REST WADL vs SOAP
我看到了以下兩個鏈接:
1. SOAP與REST
我了解兩者之間的區別。 但是我也聽說過WADL( https://wadl.java.net/ ),它與REST一起用於提供合同(類似於SOAP WSDL所做的事情)
現在我有兩個問題:
提前致謝。
RESTful和SOAP WebServices根本不同。
簡而言之-SOAP是一個典型的基於RPC的調用,您可以在SOAP主體的XML文檔中隱藏請求操作和詳細信息。 Wheras純RESTful Webservie完全依賴HTTP方法在服務器上執行操作。
盡管WADL尚未被廣泛采用並且不是真正的標准,但是其背后的理論是簡單地幫助工具生成一些代碼,並且其目的是促進應用程序的重用,超越Web瀏覽器的基本用途,即機器對機器通信。 (仍使用HTTP協議)。
SOAP(簡單對象訪問協議)
REST(表示狀態傳輸)
SOAP和REST無法直接進行比較,因為第一個是協議,第二個是體系結構樣式。
SOAP和REST之間的主要區別在於客戶端和服務器實現之間的耦合程度。 SOAP就像一個自定義的桌面應用程序,與服務器緊密耦合。 客戶端與服務器之間存在嚴格的契約,一切似乎都發生了變化,任何方面都發生了變化。 但是,REST客戶端更像是瀏覽器。 這是一個通用客戶端,知道如何使用協議和標准化方法。 如果做得正確,耦合將更少。 客戶端應該在沒有API的先驗知識的情況下進入REST,入口點和媒體類型除外。 在SOAP中,客戶需要具有將要使用的所有東西的先驗知識。
REST與協議無關。 它沒有耦合到HTTP。 我們可以將其用於具有標准化URI方案的任何協議。 但是,SOAP本身是一個協議。
SOAP只支持XML,但是REST支持不同的格式,例如文本,JSON,XML等。而且我們知道如果使用JSON,那么在有效負載方面肯定會處於更好的位置。
SOAP可以使用任何通用傳輸(HTTP / HTTPS)或RPC(遠程過程調用)。 但是,REST僅使用HTTP / HTTPS
SOAP不能使用REST。 但是,REST可以使用類似於HTTP或任何其他協議的SOAP
SOAP使用服務接口來公開業務邏輯。 REST使用URI公開業務邏輯
在Java中,JAX-WS用於SOAP Web服務。 但是,Java JAX-RS用於REST Web服務
SOAP定義了要嚴格遵循的標准。 REST沒有定義任何標准,例如SOAP
SOAP比REST需要更多的帶寬和資源。 REST需要更少的帶寬和資源。
SOAP定義了自己的安全性。 REST從基礎傳輸繼承安全措施
與REST相比,如今SOAP不那么受歡迎了
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.