Client-Server Architecture
A distributed structure that partitions tasks between providers (servers) and requesters (clients).
What it is
**Client-Server Architecture** is a distributed application structure that partitions tasks between providers of a resource (servers) and service requesters (clients). In standard HTTP, the lifecycle is strictly one-way initiation: the Client always initiates the request, and the Server processes it and serves a response back.
Why it matters
It enforces a **Separation of Concerns**. Front-end developers focus on the user interface, accessibility, and client-side logic. Back-end developers focus on business logic, database management, and security boundaries. Because the client environment (the browser) is inherently untrusted, all sensitive operations must be strictly enforced on the server.
How it works
A client opens a TCP/IP connection to the server using its IP address and port. It sends an HTTP Request message. The server receives and parses this request, executes any necessary backend logic, and sends back an HTTP Response message containing a status code and the requested payload.
Try it
Tap the **Send Request** button on the Client phone to initiate communication. Try tapping the Server to see if it can start the conversation itself!
Interactive Diagram: The One-Way Initiation
The Server is reactive. Only the Client can start the conversation.
Client (Browser)
Server (Kitchen)
Check yourself
Pick an answer to lock it in, then read why. Getting one wrong is part of how it sticks.
Remember this
- The Client always initiates the communication.
- The Server is reactive and waits for requests.
- Standard HTTP is stateless; each request is an independent transaction.
- Security boundaries are strictly enforced on the Server.
Done with this concept?
Mark it complete to track your progress. No login needed.