concept

HTTP Method Semantics

The safety, idempotency and cacheability guarantees each HTTP method carries, which clients and intermediaries rely on.

restidempotencycaching

GET — safe (no side effects) and cacheable. A GET that modifies state breaks caches, prefetchers and crawlers, and it will be called more often than you expect.

PUT — idempotent, replaces the resource. Sending it twice leaves the same state.

PATCHnot idempotent in general, because a partial update may be relative. This surprises people; if idempotency is needed, an idempotency key is required.

DELETE — idempotent. The second call returns 404 or 204 and the end state is the same.

POST — neither safe nor idempotent. Which is why creation endpoints need idempotency keys to be safely retryable, and why a client that times out on a POST genuinely cannot know what happened.

These are not conventions; retry logic, caching layers and proxies act on them.