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/OPTIONSGET 安全且冪等 獲取表示 變更時獲取表示(快取) 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)- 服務端當前無法處理請求
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/265077.html
標籤:架構設計
