在資訊安全領域,SOAP 和 RESTful Web 服務之間有什麼區別?
SOAP Web 服務
SOAP 代表簡單物件訪問協議 (Simple Object Access Protocol)。它是一種基於 XML 的訪問 Web 服務的協議。它作為一種中間語言生成,以便用多種程式語言構建的應用程式可以高效地相互通訊。Web 服務使用 SOAP 在應用程式之間共享 XML 資料。
SOAP 提供有狀態和無狀態操作。有狀態定義伺服器在多個請求中保留從客戶端接收的資料。這些請求是鏈狀的,以便伺服器瞭解之前的請求。例如銀行交易、航班預訂等。無狀態訊息包含關於客戶端狀態的足夠資訊,因此伺服器無需擔心。
RESTful Web 服務
REST 代表具象狀態傳輸 (Representational State Transfer)。它是一種用於通訊目的的架構方法,常用於多種 Web 服務開發。它是一個無狀態的客戶端-伺服器模型。基於 REST 概念定義的 Web 服務稱為 RESTful Web 服務。
當客戶端透過 RESTful API 建立請求時,它將資源狀態的描述傳輸到伺服器。這些資訊可以透過 HTTP 以多種格式傳輸,例如 JSON、HTML、XLT 和純文字,但由於 JSON 易於被機器和人類讀取,因此它是最常用的語言。
在 REST 架構中,一切都是資源。RESTful Web 服務提供了在多個階段和系統上執行的程式設計應用程式之間的對應關係。可以將 Web 服務視為按需程式碼。RESTful Web 服務是一種可以透過向 URL 傳送 HTTP 請求來識別功能或技術,服務會將結果作為響應返回。
讓我們看看 SOAP 和 RESTful Web 服務之間的比較。
SOAP | RESTful |
|---|---|
| SOAP 代表簡單物件訪問協議 (Simple Object Access Protocol)。 | RESTful 代表具象狀態傳輸 (Representational State Transfer)。 |
| SOAP Web 服務將響應與 XML 關聯,因為實際響應捆綁在始終為 XML 格式的 SOAP 訊息中。 | RESTful Web 服務可以以多種格式返回響應,例如 JSON、XML 和 HTML。 |
| SOAP 使用 XML 訊息來識別要呼叫的所需 Web 程序或資源。 | RESTful Web 服務使用 URL 來識別要訪問的所需資源。 |
| SOAP 對傳輸沒有一些限制。它可以使用 HTTP 或 MQ 等。 | RESTful 服務使用著名的 HTTP 協議。 |
| SOAP 無法使用 RESTful 服務,因為它是一種協議。 | RESTful 服務可以使用 SOAP Web 服務,因為它是一種可以使用 HTTP 和 SOAP 等協議的架構方法。 |
| XML 是 SOAP Web 服務中著名的的資料交換格式。 | JSON 是 RESTful Web 服務中著名的的資料交換格式。 |
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP