← All terms

define http-methods --plain-english

Illustration for "HTTP Methods" — Day 27 of the Non-Technical Technical Dictionary

HTTP Methods

TLDR:Get, create, update, delete. The verbs of the web.

A developer told me "it's just a POST request" like that explained anything, and I nodded the way you nod at a waiter speaking a language you don't. Then I looked it up, and it turned out to be one of four little words doing all the work.

Here's the whole thing. Anytime one piece of software talks to a service, it's doing one of four moves. The same four moves you make on anything in your life: look at it, add one, change it, throw it away. That's it. The web has fancy names for them, but the names are just verbs.

Picture your Shopify store:

  1. GET reads something. "Show me my orders." You're just looking. Nothing changes.

  2. POST creates something new. "Add this product." Now there's a thing that wasn't there before.

  3. PUT updates something that already exists. "Change the price to $29." Same product, new value.

  4. DELETE removes it. "Delete this customer." Gone.

Read, create, update, delete. Devs even have a nickname for the set: CRUD. Four letters, four verbs, and now you've met all of them.

The thing that made it click for me: these aren't web-only ideas. They're the verbs behind every button you've ever pressed.

  • Scrolling your inbox? That's a GET. You're reading.
  • Hitting send on an email? POST. You made a new thing.
  • Editing a calendar event you already created? PUT. Updating what exists.
  • Swiping a photo into the trash? DELETE. Self-explanatory.

So when a developer says "it's a POST request," hear it as "it's creating something." When they say "the GET is failing," hear "it can't read the thing." You don't need to know the plumbing. You just need to know which of the four verbs is in play, because that tells you what's actually supposed to happen.

One small thing worth pocketing, because it explains a real-world headache: GET is supposed to be safe to repeat, POST isn't. Reading your orders ten times in a row does no harm, you just read them ten times. But if a "create" action fires twice (a hiccup, a double-click, a flaky connection), you can end up with two of something. That's the actual reason apps beg you "don't refresh, your payment is processing." A refresh can re-fire the POST, and you really don't want to create that charge twice.

GET, POST, PUT, DELETE. Look, add, change, toss. You already knew the moves. Now you have the words for them.