RESTful API 的基本原理
衆所周知,數據庫,網站以及業務應用之間都要進行數據交換。這就出現標準的數據格式,傳輸協議或Web服務,常見的數據格式XML,JSON;常見的傳輸協議:SAOP,REST等;開發人員通常都需要爲一個應用寫API接口,使應用集成業務邏輯運行在服務器上,只要客戶端和服務器符合web的統一接口,它們就可以使用任何語言或技術獨立實現部署;
- REST(Representation State Transfer (表述性狀態傳遞))是一種軟件架構風格,或者說是一種規範,其強調HTTP應當以資源爲中心,並且規範了URI的風格;規範了HTTP請求動作
(GET/PUT/POST/DELETE/HEAD/OPTIONS)
的使用,具有對應的語義。
關於RESTful風格:作者:Ferrari1001 鏈接:https://www.jianshu.com/p/6e8381c9b01d 來源:簡書
- 使用實例:社交媒體服務,網絡聊天等,客戶端和服務器在web環境運行,對象信息不需要傳遞到客戶端,需要在客戶端和服務器之間執行嚴格協議時,執行涉及多個調用事務時,REST不適用;
- 實現REST風格框架,我們需要首先確定返回的JSON響應結構是統一的,也就是說,每個REST請求將返回相同結構的JSON響應結構
{
"meta": {
"success": true,
"message": "ok"
},
"data": ...
}
SOAP (Simple Object Access Protocol(簡單對象訪問協議))
SOAP 是基於 XML 的簡易協議
,可使應用程序在 HTTP 之上進行信息交換。或者更簡單地說:SOAP 是用於訪問網絡服務的協議。一條 SOAP 消息就是一個普通的 XML 文檔
,包含下列元素:
必需的 Envelope 元素,可把此 XML 文檔標識爲一條 SOAP 消息
可選的 Header 元素,包含頭部信息
必需的 Body 元素,包含所有的調用和響應信息
可選的 Fault 元素,提供有關在處理此消息所發生錯誤的信息- 使用實例:金融服務,支付網關等,客戶端需要訪問服務器上可用的對象,需要花費大量帶寬來傳遞元數據;安全性和授權也屬於SOAP協議的一部分;
- SOAP 消息的基本結構:
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
RESTful API-安全性
大多數情況下,我們開發都是現在RESTful API,所以安全性是要重視的問題;
OAuth協議如何確保RESTful API的安全性?
API安全性與緩存機制OAuth2-使用REST JSON XML和JAX-RS構建微服務,大數據(二)