Here's an easy way to break it down:

Kitchen: Server

Waiter: API

Eater: Client


REST stands for Representational State Transfer.

It relies on stateless client/server protocol and can be used by virtually any programming language.

It operates using just HTTP and a standard like JSON.

HTTP Methods

GET: Retrieve data from a specific resource

POST: Submit data to be processed by a specified resource

PUT: Updates a specified resource

DELETE: Deletes a specified resource (must send ID)

Less common: HEAD - like get but doesn't send back the body; OPTIONS: Returns the methods of HTTP; PATCH - Updates partial data

URIs/URLs function as API endpoints-- a website name to go to that holds the data.


Often need to paste your token into the URI/URL

Can include the token in the header of the request, in the parameter of the URI, or a client ID and secret in the request.