常見HTTP響應狀態碼對照表

GET

安全且冪等
獲取表示
變更時獲取表示(緩存)

HTTP響應狀態碼:

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

不安全且不冪等
使用服務端管理的(自動產生)的實例號創建資源
創建子資源

部分更新資源
如果沒有被修改,則不過更新資源(樂觀鎖)

HTTP響應狀態碼: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

不安全但冪等
用客戶端管理的實例號創建一個資源
通過替換的方式更新資源
如果未被修改,則更新資源(樂觀鎖)

HTTP響應狀態碼:

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

不安全但冪等

刪除資源

HTTP響應狀態碼:

200 (OK)- 資源已被刪除
301 (Moved Permanently)- 資源的URI已更改
303 (See Other)- 其他,如負載均衡
400 (bad request)- 指代壞請求
404 (not found)- 資源不存在
409 (conflict)- 通用衝突
500 (internal server error)- 通用錯誤響應
503 (Service Unavailable)- 服務端當前無法處理請求

【說明】

- 安全:對服務端的數據不會造成改變。
- 冪等:多次重複同樣操作,對服務端的數據的影響是一樣的。
- 不冪等:多次重複同樣操作,對服務端的數據的影響是不一樣的,如添加數據,就是不冪等的,因爲每次執行,都會生成新的數據;更新數據就是冪等的,因爲每次執行,服務器的數據還是那條數據;刪除數據是冪等的,因爲第一次已經刪除了數據,第二次執行不會對服務器再產生影響,

【說明2】

- GET和DELETE,只支持參數方式提交:
  - 查詢參數 ?xxx=x&yyy=y
  - 路徑參數:標準的REST,/x/y
- POST和PUT,支持Body消息體和參數兩種方式。

額外說明:PUT要帶id參數,保證冪等。

另外注意:URL不要包含動詞等


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章