關於SOAP、REST、RESTful的理解

SOAP

百度百科的解釋:Simple Object Access Protocol,簡單對象訪問協議,它是交換數據的一種協議規範,是一種輕量的、簡單的、基於XML(標準通用標記語言下的一個子集)的協議,它被設計成在WEB上交換結構化的和固化的信息。
W3C的解釋:簡單對象訪問協議是一種通信協議。用於應用程序之間的通信,是一種用於發送消息的格式,被設計用來通過因特網進行通信,它獨立於平臺,獨立於語言,基於XML,簡單可擴展,允許繞過防火牆

REST

Representational State Transfer,表述性狀態傳遞,簡稱REST,一種軟件架構風格。
REST 是基於資源的,每個資源都有一個唯一的資源標識符,同一個資源具有多種表現形式(xml,json等),對資源的各種操作不會改變資源標識符,所有的操作都是無狀態的

特徵 解釋
客戶-服務器 提供服務的服務器和使用服務的客戶需要被隔離對待
無狀態 來自客戶的每一個請求必須包含服務器處理該請求所需的所有信息。換句話說,服務器端不能存儲來自某個客戶的某個請求中的信息,並在該客戶的其他請求中使用
可緩存 服務器必須讓客戶知道請求是否可以被緩存
分層系統 服務器和客戶之間的通信必須被這樣標準化:允許服務器和客戶之間的中間層(Ross:代理,網關等)可以代替服務器對客戶的請求進行迴應,而且這些對客戶來說不需要特別支持
統一接口 客戶和服務器之間通信的方法必須是統一化的,GET,POST,PUT.DELETE, etc
支持按需代碼 服務器可以提供一些代碼或者腳本(Ross:Javascrpt,flash,etc)並在客戶的運行環境中執行。這條準則是這些準則中唯一不必必須滿足的一條
RESTful

RESTful是REST的派生,下面羅列出RESTful的幾個最佳實踐

  • http動詞
    • post
    • get
    • put
    • delete
  • 狀態碼
    • 200、201、202
    • 400、401、403、404
    • 500
  • 錯誤碼:自定義的錯誤ID號,比如微信的錯誤碼
  • 統一描述錯誤:錯誤碼,錯誤信息,當前url
  • 使用token令牌來授權和驗證身份
  • 版本控制
  • 測試與生產環境分開
  • url語義要明確,最好望文知意
  • 最好有一份比較標準的文檔

參考文檔:REST API詳解RESTful 架構詳解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章