轉自:http://blog.csdn.net/cloudcraft/article/details/10087033瀏覽器
資源是REST中最關鍵的抽象概念,它們是可以被遠程訪問的應用程序對象。一個資源就是一個標識單位,任何能夠被訪問或被遠程操縱的東西均可能是一個資源。資源能夠是靜態的,也就是該資源的狀態永遠不會改變。相反,某些資源的狀態可能隨着時間推移呈現很大的可變性。這兩種類型的資源都是有效的緩存
爲了簡化總體系統架構,REST架構風格包含了統一接口的概念。統一接口包含一組受限的良定義的操做,由它們進行資源的訪問和操做。不論什麼資源,都使用相同的接口。客戶端與Hotel,Room或CreditScore等資源交互時使用的接口是同樣的。統一接口獨立於資源的URI,而且也不須要相似IDL的文件去描述可用的操做。ruby
RESTful HTTP的接口很是流行且廣爲使用。它包含標準的HTTP方法如GET,PUT和POST(瀏覽器使用它發出請求並提取頁面)。不幸的是,不少開發者認爲實現RESTful應用就是用一種直接使用HTTP的方式,這種理解是錯誤的。舉個例子,HTTP方法的實現必需要遵循HTTP規範的,而經過GET方法建立或修改對象是不遵照HTTP規範的。架構
GET負載均衡
- - 獲取表示
-
- - 變動時獲取表示(緩存)
-
- 200(OK) - 表示已在響應中發出
-
- 204(無內容) - 資源有空表示
-
- 301(Moved Permanently) - 資源的URI已被更新
-
- 303(See Other) - 其餘(如,負載均衡)
-
- 304(not modified)- 資源未更改(緩存)
-
- 400 (bad request)- 指代壞請求(如,參數錯誤)
-
- 404 (not found)- 資源不存在
-
- 406 (not acceptable)- 服務端不支持所需表示
-
- 500 (internal server error)- 通用錯誤響應
-
- 503 (Service Unavailable)- 服務端當前沒法處理請求
DELETE
- - 刪除資源
- 200 (OK)- 資源已被刪除
-
- 301 (Moved Permanently)- 資源的URI已更改
- 303 (See Other)- 其餘,如負載均衡
-
- 400 (bad request)- 指代壞請求t
- 404 (not found)- 資源不存在
- 409 (conflict)- 通用衝突
-
- 500 (internal server error)- 通用錯誤響應
- 503 (Service Unavailable)- 服務端當前沒法處理請求
PUT
- - 用客戶端管理的實例號建立一個資源
-
- - 經過替換的方式更新資源
-
- - 若是未被修改,則更新資源(樂觀鎖)
-
- 200 (OK)- 若是已存在資源被更改
- 201 (created)- 若是新資源被建立
-
- 301(Moved Permanently)- 資源的URI已更改
-
- 303 (See Other)- 其餘(如,負載均衡)
-
- 400 (bad request)- 指代壞請求
-
- 404 (not found)- 資源不存在
-
- 406 (not acceptable)- 服務端不支持所需表示/p>
-
- 409 (conflict)- 通用衝突
-
- 412 (Precondition Failed)- 前置條件失敗(如執行條件更新時的衝突)
-
- 415 (unsupported media type)- 接受到的表示不受支持
-
- 500 (internal server error)- 通用錯誤響應
-
- 503 (Service Unavailable)- 服務當前沒法處理請求
POST
- - 使用服務端管理的(自動產生)的實例號建立資源
-
- - 建立子資源
-
- - 部分更新資源
-
- - 若是沒有被修改,則不過更新資源(樂觀鎖)
-
- 200(OK)- 若是現有資源已被更改
- 201(created)- 若是新資源被建立
- 202(accepted)- 已接受處理請求但還沒有完成(異步處理)
-
- 301(Moved Permanently)- 資源的URI被更新
- 303(See Other)- 其餘(如,負載均衡)
-
- 400(bad request)- 指代壞請求
- 404 (not found)- 資源不存在
- 406 (not acceptable)- 服務端不支持所需表示
- 409 (conflict)- 通用衝突
- 412 (Precondition Failed)- 前置條件失敗(如執行條件更新時的衝突)
- 415 (unsupported media type)- 接受到的表示不受支持
-
- 500 (internal server error)- 通用錯誤響應
- 503 (Service Unavailable)- 服務當前沒法處理請求