轉自:http://blog.csdn.net/cloudcraft/article/details/10087033
資源是REST中最關鍵的抽象概念,它們是能夠被遠程訪問的應用程序對象。一個資源就是一個標識單位,任何可以被訪問或被遠程操縱的東西都可能是一個資源。資源可以是靜態的,也就是該資源的狀態永遠不會改變。相反,某些資源的狀態可能隨着時間推移呈現很大的可變性。這兩種類型的資源都是有效的
為了簡化整體系統架構,REST架構風格包含了統一接口的概念。統一接口包含一組受限的良定義的操作,由它們進行資源的訪問和操作。不論什么資源,都使用相同的接口。客戶端與Hotel,Room或CreditScore等資源交互時使用的接口是一樣的。統一接口獨立於資源的URI,並且也不需要類似IDL的文件去描述可用的操作。
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)- 服務當前無法處理請求