a basic HTTP request consists of a verb (method) and a resource (endpoint)

VerbDescriptionIdempotent*SafeCacheable
GETReads a resourceYesYesYes
POSTCreates a resource or triggers a process that handles dataNoNoYes if response contains freshness info
PUTCreates or replaces a resourceYesNoNo
PATCHPartially updates a resourceNoNoYes if response contains freshness info
DELETEDeletes a resourceYesNoNo
*can be called many times without different outcomes
  • loosely coupled

distributed-systems databases