Here's an easy way to break it down:
Kitchen: Server
Waiter: API
Eater: Client
REST
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.
Authentication
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.