理解RESTful

1 何爲RESTful緩存

  RESTful架構,就是目前最流行的一種互聯網軟件架構。它結構清晰、符合標準、易於理解、擴展方便,因此正獲得愈來愈多網站的採用。REST這個詞,是Roy Thomas Fielding在他2000年的博士論文中提出的。REST 是Representational State Transfer的縮寫,翻譯是」表現層狀態轉化」。 能夠總結爲一句話:REST是全部Web應用都應該遵照的架構設計指導原則。面向資源是REST最明顯的特徵,對於同一個資源的一組不一樣的操做。資源是服務器上一個可命名的抽象概念,資源是以名詞爲核心來組織的,首先關注的是名詞。REST要求,必須經過統一的接口來對資源執行各類操做。對於每一個資源只能執行一組有限的操做。
 
2 接口規範
 
  7個HTTP方法: GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS

  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)- 服務端當前沒法處理請求
 
  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)- 服務當前沒法處理請求
 
  PUT
    不安全但冪等
    用客戶端管理的實例號建立一個資源
    經過替換的方式更新資源
    若是未被修改,則更新資源(樂觀鎖)
 
    200 (OK)- 若是已存在資源被更改
    201 (created)- 若是新資源被建立
    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)- 服務當前沒法處理請求
 
  DELETE
    不安全但冪等
    刪除資源
 
    200 (OK)- 資源已被刪除
    301 (Moved Permanently)- 資源的URI已更改
    303 (See Other)- 其餘,如負載均衡
    400 (bad request)- 指代壞請求
    404 (not found)- 資源不存在
    409 (conflict)- 通用衝突
    500 (internal server error)- 通用錯誤響應
    503 (Service Unavailable)- 服務端當前沒法處理請求
相關文章
相關標籤/搜索