RESTful API 中的 Safe methods 與 Idempotent methods
Safe methods 指的是此操作不會改變 Server 端的資源狀態(同樣的結果可被 Cache)
Idempotent methods 指的是此操作不管做 1 次或做 n 次,最後都會得到同樣的資源狀態結果 (回應訊息可能不同)。Client 端可以放心的做 Retry
有人把它整理成表格
這時候就會有疑問了,為什麼 PUT、PATCH 都可以用來更新 一個是 idempotent,一個卻不是
主要的差別是
- PUT 通常是用來
替換
資源的內容,也就是把原有的資料全部取出然後更新 - PATCH 則用來更新資源
部份
內容