1) Of the big 7 HTTP methods, SAFE >> GET, HEAD, TRACE, OPTIONS IDEMPOTENT >> GET, HEAD, TRACE, OPTIONS, PUT, DELETE NON-IDEMPOTENT >> POST
I know that GET HEAD TRACE and OPTIONS are obviously SAFE and IDEMPOTENT. But why PUT and DELETE are also IDEMPOTENT? I thought they will make changes on the server hence should be NON-IDEMPOTENT as well as POST?
Methods GET, HEAD, PUT and DELETE are defined to be idempotent, meaning that multiple identical requests should have the same effect as a single request. Methods OPTIONS and TRACE, being safe, are inherently idempotent.