Client Server Architecture

A great deal of our digital world depends on a little technique discovered out of necessity in the early days of computing. This paradigm of how digital devices communicate and co-operate, makes the entirety of the internet possible and efficient. So to understand information technology and online content delivery, you must understand what client-server architecture is.

client-server-diagram-internet

The basics of the client-server model are in the name; It is a system that includes a client and a server, and the client-server model works as a series of transactions between the two. The client initiates the transaction by sending a request to the server, and the server, which is always in a state of readiness to accept requests, responds by providing a service or resource to the client. That is the core principle of the client-server model. In most implementations of client-server architecture, the server is one or a few, and the clients are many. This centralization of resources and services with the server is the main utility of this paradigm and is how it was first introduced into the digital realm.

When you browse the web today, your browser software on your desktop computer or mobile device is the client. In the simplified transaction, for the sake of explanation, you enter a URL into your browser to visit a website. Your browser, the client, connects to the computer that holds the website you want to visit, the server, and sends a request for the website using a standard called the Hyper Text Transfer Protocol (hence http://). The server accepts this request and sends a response to your browser along with the requested data if available. If you entered the right address and the website is live, the server sends the browser the appropriate HTML page and you see the homepage on your screen. If there was an error, the server responds with an error code, such as 404, when it can’t find the page you requested. That, in a nutshell, is the client-server architecture of the world wide web in action.

client-server-diagram-mysql

An important point to grasp here is that client and server are not fixed and unchanging entities, but merely the roles played by devices and software during a particular transaction. A device that is a server for one transaction can then switch to being a client in another. To continue with our example of the browser and the web server, when the computer that stores the website receives a request for a page from your browser, it is behaving as a server and responds directly if the page to be displayed is static HTML. However, if the website is a dynamic one, based on a content management system such as WordPress or Drupal, the data is not stored as static HTML files but rather in a database, often located on a separate computer that hosts multiple databases for efficiency. At this point in the transaction the original web server becomes a client and sends a request for data to a MySQL database server. Once the web server receives the requested data from the database server, it reverts to being a server in the original transaction and sends the page to your browser where it is displayed. These client and server modes of a particular device are usually happening concurrently, with multiple transactions in progress, rather than that simplified consecutive way described here, but this should have made the sometimes fluid nature of the client-server relationship clear.

Leave a Reply

Your email address will not be published. Required fields are marked *