HTTP Method Semantics
The safety, idempotency and cacheability guarantees each HTTP method carries, which clients and intermediaries rely on.
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.
PATCH — not 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.