A client server model is a distributed application structure that consists of two parts as the name suggests, one is the server and the other is the client.
The server is the provider of a resource or service and clients are the service requesters. The client server architecture working principle is fairly simple, the client computer sends a data request to the server through the internet and the server accepts and processes the request and sends the desired data packets requested by the client. The client resources are not shared in the process and e.g. include email or the World Wide Web.
This blog will shed light on the client-server model and try to explain how the internet works through the web browsers. Before we dive any deeper let’s talk a little about what client and server are defined.
Client– The client is the computer or the host which is capable of receiving information or uses services provided by a service provider, or Servers.
Server– In the digital world, a server is a remote computer capable of providing requested information or access to a particular service.
As long as it is present in the server database, the data request is delivered.
The Client Server Architecture
The client server network application breaks down task loads between clients and servers which reside on the same system or are connected by a network.
A central server is connected to multiple workstations, personal computers or devices through the internet.
But how does the browser interact with the servers? Let’s understand.
Browser and Server Interaction
It spans over a few steps.
- The user first enters the url (Uniform resource Locator) of the website or the file
- The browser requests the DNS (Domain Name Systems) Server
- DNS Server looks up the address of the WEB Server
- DNS Server gets the IP address of the WEB Server
- An HTTP/HTTPS request is sent to the Web Server’s IP by the browser
- Server responds with the necessary files of the website
- Browser renders the file and the website gets displayed
This rendering is possible with DOM (Document Object Model) Interpreter, CSS Interpreter and the JS Engine. These three are collectively referred to as JIT or Just In Time Compilers.
Why use a Client Server Model?
Businesses today need an easy system to collect, process and harness data for relevant business decisions and to do that procedural efficiency is a matter of survival.
A client-server model with its superior level of processing promises effectiveness of workgroups, remote network management, better results for market driven businesses and optimizes existing investments.
The client server network has horizontal and vertical scalability which means on one hand the number of client machines can be increased while on the other the entire process can also be moved to powerful server or multi-server configurations. This provides a lot of flexibility to the businesses.
Examples of Client-Server Architecture
- Email Servers- The most familiar example perhaps, e-mail servers send and receive email between parties aided by various brands of software
- File Servers- Cloud based services like Google docs or Microsoft office
- Web Servers- High performing servers host many websites like Google Web Server popularly called GWS
But, what are the pros and cons of using a client-server architecture?
Advantages of a Client Server Architecture
- It is a centralized system with data and controls in one place
- Highly scalable, organized and efficient
- Cost-Efficient due to minimum maintenance requirements
- Recovering data is possible
- Load balancing to optimize performance
- Multiple platforms to share resources
But is it all sugar and spice and all things nice or has any cons too? Let’s explore.
The disadvantages of Client-Server Architecture
- If the server is ever attacked my malware, trojan or worms, the user is highly likely to get affected due to connected network of clients and servers
Learn more about it in our blog : https://functionup.org/blog/10-most-deadliest-computer-viruses/
- Data packets can also get spoofed or modified during transmission
- Expensive initial set up and implementation
- If the critical server is affected, the clients get severely affected
- Phishing and Man in the Middle (MITM) attacks are common
There is another kind of client server architecture called the 3-Tier Client-Server Architecture with a presentation layer, client layer and a database layer but we shall explore more about it in another blog.
The IT world is ever changing and ever expanding and there is a constant need for skilled professionals who can aid businesses in dealing with the tech challenges.
FunctionUp is a pay after placement coding boot camp that trains candidates in coding, programming and backend engineering skills.
If you want to start your career in tech, Join Our Advanced Coding Pay After Placement Bootcamp Now