Recently I have been reading “Design and Build Great Web APIs” by Mike Amundsen. And in there is a brief section
about HTTP methods. Most people are probably familiar with the standard REST methods
DELETE (and sometimes
PATCH). I found it intriguing
to learn that IANA maintains an
official list of HTTP methods.
Now most of these won’t be useful for every day web development as the bulk of the
methods appear to be used in WebDAV and related extensions.
It is interesting to note that the methods are designated as “safe” or “idempotent”
or both. A “safe” method is one that isn’t meant to modify any data.
categorized as “safe”, but something like
PUT aren’t safe as they are
meant to modify data. “Idempotent” means that the method can be repeated and have
the same results. So
PUT is “idempotent” since you are updating something already
existing, but on the other hand,
POST is not “idempotent” since calling it multiple
times could create multiple different things. Now all of this seems like common sense,
but I believe that it was educational to learn about the meanings and intentions behind the
different HTTP methods that I use daily.