An HTTP method tells the server what action you want on a resource, and each request names one method up front.
GET fetches a resource without changing it.
POST submits data, often to create something new.
PUT replaces a resource with the body you send.
PATCH updates part of a resource.
DELETE removes the named resource.
HEAD fetches only the headers, no body.
The choice matters because caches, proxies and browsers treat methods differently. A GET can be cached and prefetched, but a POST usually cannot. The wrong one causes surprising behavior and confuses anyone reading your API.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
What goes wrong if a GET endpoint deletes or changes data?Name who else sends GETs without the user meaning to, like browser prefetch and crawlers, and say why caches assume a GET changes nothing.
Why can a cache reuse a GET response but usually not a POST response?Tie it to state. A GET only reads, so a stored copy can answer the next request, while a POST may change something that a replayed answer would skip.
What you can say
An HTTP method is the verb at the start of every request, and it tells the server what you want done to the resource at that URL.
GET reads a resource without changing it, and HEAD is the same request but returns only the headers, with no body.
POST sends data to the server, usually to create something new.
PUT replaces the whole resource with the body you send, PATCH changes only part of it, and DELETE removes it.
The choice matters because browsers, proxies and caches act on the method, so a GET can be cached or prefetched while a POST usually can't.
Pick the wrong one, like a GET that changes data, and a browser prefetch can fire it by accident, and anyone reading your API is misled.
Weak answers to avoid
Lists method names with nothing behind themNaming GET, POST and PUT is the easy part. Say what each does to the resource and why caches and browsers treat GET differently from POST.
Treats PUT and PATCH as the same thingPUT replaces the whole resource and PATCH changes part of it. Blurring them suggests you would wipe fields on an update, so state the difference plainly.
Says GET and POST differ only in where data goesQuery string versus body is a detail. The real difference is that GET must not change state, which is why it can be cached and prefetched.
Uses GET for actions that change dataA crawler or browser prefetch can then delete or change data by accident. Keep GET read-only and use POST, PUT, PATCH or DELETE for changes.
Interview lens
Likely follow-ups, what you can say, and the weak answers to avoid.