#### 統一接口
RESTful應該有統一接口。HTTP 1.1 提供了一系列方法,被稱為動作。在這其中比較重要的動作是:

安全的操作是指對原始資源值不會產生影響的操作。列如,數學上的操作除以1就是安全的操作,因為無論多少次用1除一個數,原始數值都不會改變。冪等操作是指無論多少次執行都給出相同結果的操作。例如,數學上的乘以0就是冪等的,因為無論計算多少次結果都是零,結果都是一樣的。類似的,一個安全的HTTP方法不會使服務器上的資源發生變化。一個冪等的HTTP方法無論執行多少次都會有相同的響應。把方法分類成安全和冪等的可以使客戶端在不穩定的Web環境中再次觸發相同的請求的結果變得更可預測。
在 Web 上 GET 可能是最流行的方法。它用來獲取資源。
HEAD 僅返回響應頭和空的響應體。這個方法可以用在你不需要全部的資源模型表示(representation)的時候。例如,HEAD 可以快速檢測服務器上的資源是否存在。
OPTIONS 用于獲取資源允許的操作。
例如,思考下面的請求:
~~~
OPTIONS http://MyService/Persons/1 HTTP/1.1
HOST: MyService
~~~
在服務驗證之后請求返回下面內容:
~~~
200 OK
Allow: HEAD, GET, PUT
~~~
第二行包含客戶端可以使用的方法。
你應該僅僅出于它們的實際意義使用這些方法。例如:絕不要使用 GET 在服務器上創建或刪除資源。如果你沒這樣做,將會擾亂你的客戶端導致他們做出意外的操作。舉例說明,我們考慮下面的請求:
~~~
GET http://MyService/DeletePersons/1 HTTP/1.1
HOST: MyService
~~~
根據 HTTP 1.1 規范,GET 請求的目的是從服務器獲取資源。但是它很容易實現一個刪除 Person 的請求。這個請求也許運行的很棒,但是這不是RESTful 設計。換言之,使用 DELETE 方法來刪除資源像下面這樣:
~~~
DELETE http://MyService/Persons/1 HTTP/1.1
HOST: MyService
~~~
REST 建議統一接口,HTTP 提供了統一接口。然而,這由服務架構師和開發人員保持它的統一。
- 《Restful Web Service Cookbook》
- 簡介
- 推薦序
- 第 1 章 使用統一接口
- 1.1 如何保持交互的可見性
- 1.2 何時使用 GET 方法
- 1.3 何時使用 POST 方法
- 1.4 如何使用 POST 方法創建資源
- 目錄
- PHP RESTful
- 理解RESTful架構
- 深入淺出REST
- 表述性狀態轉移
- 無狀態
- 設計指南
- RESTful API 設計指南
- RESTful API 設計最佳實踐
- 測試工具
- soapUI
- 實例
- 豆瓣
- 應用
- 接口規范
- 視頻
- 《Restful API實戰》
- 課程目標
- 第1章 Restful是什么
- 1-1 restful簡介及資源介紹
- 第2章 為什么要使用Restful
- 2-1 Restful中HTTP協議介紹
- 2-2 架構區別
- 第3章 如何使用Restful
- 3-1 restful設計要素
- 3-2 DHC Client
- 3-3 本地開發環境搭建
- 3-4 確認設計要素
- 3-5 數據庫設計
- 3-6 用戶業務邏輯
- 3-7 文章業務邏輯
- 3-8 restfulApi設計要素
- 3-9 初始化運行參數
- 3-10 完善用戶API
- 3-11 完善文章API
- 文摘
- RESTful 接口實現簡明指南
- RESTful Web 服務教程
- 模型表示(Representations)
- 資源定位
- URI中的查詢參數
- 統一接口
- PUT 和 POST 的區別
- 基于 REST 的 Web 服務
- PHP Reatful
- Restful狀態響應碼
- 《REST API 安全設計指南》