What is Client Server Architecture?

Background:

To fully understand the term Client-Server Architecture, you need to first clear each concept required for this term to understand:

What is Client Server Architecture?

As you might know that a network is a connection of different nodes.I used the term node because node is a generalized term which can be used for computer, mobile or any other device connected to the network.
Networks are of different designs, which differ in the way they are inter-connected and perform operations. So, the topic which we are trying to understand, is one of the network designs.


Definition:

A computer network architecture, in which clients are those nodes that make request for the service that they don't have and the servers are those nodes that respond to the service requested by the client.
OR
The Client Server Architecture is a model/design/structure in which the Client makes the request for any service and the server provides that service or responds to that request.


Explanation:

To Understand the term Client Server Architecture, let's go defining the term word by word.

  • Architecture:

    The structure or design of anything is called Architecture. (Structure or Design).
  • Servers:

    The word server derived from the word 'Serve'. So, in computing terminology, the machine or software installed on the machine which provide services, you can call it a Server. It basically serves the request of the client.
    Now you must be getting confused whether the machine can be a server or the software can be a server, so let me make your understand that it can be both. Let's see it how:
    If you are saving files on a machine, then that machine is providing you a service of keeping files and that machine becomes the server. On the other hand an IIS/HTTP (Web Server) is a software, that serves the web pages and is known as Web Server.
    Servers have much more resources and are powerful enough to handle many requests sent by clients.
  • Clients:

    In Computing, when a node requests for a service from the server is known as Client. Clients are basically the nodes that depend upon the resources residing on the servers. Client computer provides an interface to all the computer user to request service from the server.

A server has different programs running on machine so that its resources can be shared among the clients. There are different kinds of servers that provide different services e.g. Web server servers the web pages, email server sends and receives emails. It is also possible that multiple servers are installed on the same machine. The benefit of client server architecture is that the client don't have to handle the load or do more processing. So, it is cost effective. It is used by most of the organizations in the world. Even the internet is also handled through this network design.