Concept:
The Client-Server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients.
Step 1: Identifying the Client (The Requester).
A client is a piece of computer hardware or software that accesses a service made available by a server. In web communication, the Web Browser (like Chrome or Firefox) is the active party that initiates a request for data (a URL) from a user. It acts as the interface for the user to consume resources.
Step 2: Identifying the Server (The Provider).
The server is a high-powered machine or software process that "serves" data. It sits in a passive state, listening for incoming requests. When the remote machine receives the browser's request, it retrieves the necessary files (HTML, CSS, images) and transmits them back across the network.
Step 3: The Request-Response Cycle.
The relationship is strictly defined by the flow of data:
• Request: Client $\to$ Server
• Response: Server $\to$ Client
Because the browser asks and the remote machine provides, the roles are clearly Client and Server respectively.