Client-Server Architecture (Bytemonk)
Metadata
- URL: https://academy.bytemonk.io/products/system-design-mastery-beta/categories/2158360643/posts/2190592395
- Course: System Design Mastery
- Module: Module 1: Foundations of System Design
Summary
A foundational overview of the client-server relationship, covering how requests travel from a client (browser) to a server through DNS resolution and network protocols.
Key Concepts
- The Relationship: Clients initiate requests; servers provide resources.
- DNS (Domain Name System): Translates human-readable domains (google.com) to IP addresses.
- Networking Basics:
- IP Addresses: Unique identifiers for machines on a network.
- Ports: Specific endpoints for different services on a single IP (e.g., Port 80 for HTTP, 443 for HTTPS).
- Communication Flow:
- Client requests IP via DNS.
- Client establishes connection to Server IP:Port.
- Communication occurs via Protocols (HTTP/HTTPS/TCP).
Notes
- Servers are essentially high-performance computers optimized for handling many concurrent requests.
- The separation of concerns allows for scaling the server side independently of the client.