Client Server Model
Fundamental model for modern computing
Client - machine that requests data from server
Server - machine that listens for clients, and responds
Client Server Model Diagram 1

Note client doesn't yet know what it represents. Simply requests information, and based on response will be able to do stuff.
At first, browser doesn't know how to talk to server. Performs a DNS query to find the IP address of AlgoExpert, and only then can it speak to the server.
- DNS Query: Special request that goes to predetermined set of servers to find IP address
- IP Address: Unique identifier for a machine on a network
- All computers connected to internet have ways to find other computers. Can send packets of data (in form of bytes) to other computers
- In this instance, given by the cloud platform, went on GCP and asked to be reserved an IP address.
Client Server Model Diagram 2

After client has IP address, is ready to send a HTTP Request to server,
- HTTP Request: Way for client to send information to server
- Sends a bunch of bytes or characters that get packed into packets in some format, which get sent to server
- Contains source IP address for server to know where to send response
- Ports: more granular address within server.
- Think of IP address as street number of apartment complex, and port as unit number.
- Can be predetermined based on protocol