Table of Contents
Introduction
In the previous article we have discussed the working mechanism of a website. Client and Server plays an important role in the functioning of a website.
In general, Client-Server is a software architecture Model designed to enable the communication between multiple computer systems. In this article we will also explore the different types of software and protocols running behind this model.
What is a Client
Clients are the devices that are used by a user, i.e. our personal computers, mobiles, tablets, etc. These devices have web browsing software pre-installed in it (i.e. browsers like chrome or Firefox).
Protocols used by Client
Web browser mainly use HTTP/HTTPS protocols to request information from a website on a server.
Characteristics of a Client
- It always initiates a request to server
- It awaits and receives replies from a server
- Its visibility and response is highly dependent upon the server system
Client-Side Software
The software or programming languages that run over the browser are called Client-Side Software. E.g. HTML, CSS, JavaScript are the famous client-side languages.
What is a Server
Servers are the devices that are directly connected to the internet and are used to store webpages, sites, apps and files. Whenever a user opens a website, it is downloaded from these servers.
Protocols used by Server
A server mainly runs over TCP/IP protocols. It also utilizes many other protocols such as FTP (to transfer files), SMTP (to send mails). You can read the full list of protocols here.
Characteristics of a Server
- It always awaits request from a Client
- It responds a Client with a reply with a status code representing success or error
- Based on request from a client, a server can even perform many operations like transferring file, sending mail and saving data
- End user usually do not interact with a server directly
Server-Side Software
The software or programming languages that run at server side to perform operations that can be either not run by client-side or it is too slow to run from web browsers or due to security measures. The famous server-side languages are PHP, Node.js, Python and Java.
Difference between Client and Server
As discussed earlier, there are two types of computers connected to the internet, called clients and servers. A simplified diagram of how a server and a client communicate with each other is shown below:
Client | Server |
Clients are the devices that are used by a user, i.e. our personal computers, mobiles, tablets, etc. | Servers are the devices that are directly connected to the internet and are used to store webpages, sites, apps and files. |
It always initiates a request to server
| It always awaits request from a Client
|
Ex. Our personal computers, mobiles, tablets | Ex. Apache Server, Cloud Servers at SAP HANA, Google Cloud Platform, Amazon Web Services |
0 Comments