首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WCF REST 架構觀念(一):REST 光譜與核心特徵

     編輯:關於.NET

REST 定義的多樣性與光譜觀點

業界對 REST 的定義眾說紛紜,有人主張嚴格規範,有人採寬鬆詮釋。筆者傾向認為 REST 架構存在於一個連續光譜上,而非二元對立。

REST 光譜示意圖:HI-REST 至 LO-REST

REST 背後的核心理念

  • 越簡單越好
  • Web 极其成功,值得借鏡
  • Web 极其簡單,易於理解與實作
  • Web 設計遵循可靠的指導原則,歷經長時間驗證
  • Web 服務應以 Web 的方式設計

影響 RESTful 程度的關鍵特徵

雖無單一嚴格定義,但以下特徵決定服務落在光譜的哪個位置:

1. HTTP 方法的合理使用

  • HI-REST:嚴格對應——GET 查詢、DELETE 刪除、PUT 新增/更新、POST 附加。
  • LO-REST:可能僅用 POST 處理所有寫入操作(新增、更新、刪除、附加)。

2. 資料表現形式的選擇

  • HI-REST:偏好標準格式(如 JSON、XML、Atom)。
  • LO-REST:接受 POX (Plain Old XML) 等非標準格式。

3. URI 設計風格

  • HI-REST:描述性 URI,避免查詢字串(如 /products/123)。
  • LO-REST:常使用查詢字串(如 /GetProduct?id=123)。

4. 其他進階特徵

  • 承載中包含相關資源連結
  • 使用適當的 HTTP 狀態碼

WCF 的定位:全光譜支援

從 WCF 角度看,特定定義並不關鍵。WCF 同時支援光譜兩端:下一篇將實作 LO-REST(支援 AJAX 的服務),後續文章再示範 HI-REST 實作。若上述概念尚感模糊,請直接參考後續具體範例。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved