Have you ever pondered over “what is a server” and what is their role in building this vast network called “the internet”? A server is a software program or device that is designed to perform a specific task. It is designed to process the client’s request and provide the services they are looking for. Besides performing different tasks, the other fundamental purposes of a server is to share data as well as to share resources and distribute work.
Server is generally referred in terms of computer programs that work for a client. But lot of times, a computer or a physical device designed to process requests and deliver data over the network is also called server. That way, term server can be used interchangeably for the machine or the computer program running on it.
Whenever we are interacting with the internet in any way, there is a server process somewhere that is making it possible. People generally tend to think that the use of the server is only limited to the web.
But in reality, there are many other types of servers like an email server, identity server, FTP server, etc which perform varieties of functions.
The Internet has been around us for more than three decades now. It became mainstream ever since its introduction to the general public, and now it has become an essential part of our everyday life. The invention of the internet was only possible with the invention of the servers. They both go hand in hand.
As the heart and lungs are vital parts of the body similarly, the server is also a critical part of the internet. Servers are the backbone of the internet.
Moreover, the larger the numbers of clients in a network, the more the number of servers are required to process their requests.
Lets quickly review what the internet is and what is the role of servers in that.
Role of servers in the Internet
The Internet is also called a network of networks. The internet has bought the world closer. Now it is effortless to connect with someone sitting in a different country or even in a different continent.
But how it became possible? How so much of data processing, interactions, information exchange happens so efficiently? It is because of a large number of computers or servers interconnected with each other and also running several different server software.
Let’s understand how the internet works and how servers play a role there:
- The internet works on a client and server model.
- Server stores all the data and the services that you use at a remote location.
- All these servers are interconnected. Each server has a unique public IP address for identification.
- The client is connected directly or indirectly to the internet through the ISP and sends all its requests targeted to particular servers hosting information and different services. The server responds accordingly.
- The data doesn’t travel as a whole on the internet. Data first gets divided into small packets, a router routes these packets to reach the destination, and when these packets reach the destination they are assembled again into original data.
- Servers receive the request from the client and identify what is needed by the client. Let’s say if the client requested accessing email, its request gets answered by email server which reviews client requests, validates the credentials and responds by returning emails.
Server functioning – further explained
As discussed, servers form the backbone of the Internet. It provides services to the clients and these services are shared over the network. For example- when you book a cab with ola or uber, the application that you use is hosted on a server, and you and several users like you are accessing the service from that server.
Sometimes a large number of servers are required to perform a task due to the heavy workload. For example, think of the data center of the Google search engine. Any guess and how many servers they could be running. It is close to a million. Is n’t that an astonishing number?
The client-server systems are usually based on a request-response model. The client sends the request to the server, and the server responds either with an acknowledgment or the result. The hardware that is used in a server is more powerful and reliable than the personal computers.
Types of servers
Let’s review some of the most common types of servers.
It is a server software that hosts web application and entertains the request over HTTP, https protocol and few others. For accessing web pages, any web browser acts as a client. Let’s take an example of stemjar.com.
When you visit this page, an HTTP or https request goes all the way to the web server somewhere sitting on a host and serves web pages to you. A web server generally delivers web pages containing images, HTML documents, scripts, data, etc.
These are the servers that provide business logic for the web applications and offers facilities to build them. These are the servers on which the web application runs. All the application servers are composed of web server connectors, runtime libraries, programming languages, etc.
It runs behind a web server and may have a database like Oracle or Mysql at the back.
There are several application servers in the market. Some of the most common application servers are Oracle WebLogic, IBMwebsphere, etc. The choice of an application server determines performance, scalability, maintainability, and cost of a web application.
Mail servers facilitate the sending and receiving of email messages.
These are the dedicated servers that make emailing possible in the same way that a post office makes snail mail possible. Your email clients are the sender and receiver of the mail. SMTP, IMAP, and POP3 are the most common protocol connected with the mail server.
These server stores data and files and makes them available to the devices on the network. They act as a central storage and management device. A file server doesn’t do computations or data processing for the clients.
Rather it is primarily built to enable storage and retrieval of data while the computation on this data is carried out by the workstations. The clients of the file server include networked computers and local programs.
These are the servers that act as an intermediary for the requests sent by the clients. They communicate with the client on behalf of servers. The reasons for including proxy server as an intermediary are.
- Content control and filtering
- Improving traffic performance
- Preventing unauthorized network access
- Rerouting requests to a wider and complex network
As the name itself suggests a virtual server shares hardware and software resources with other servers. They sit on physical servers and have nothing of their own. CPU, memory, etc. are carved out of a physical machine and presented to the virtual servers.
It primarily requires specialized software called hypervisor, but a virtual server can exist without hypervisor as well. The hypervisor presents virtual hardware to the server as if it is a real one.
The communication server is a server which maintains an environment needed for devices on a network to find and connect with the other devices. Communication servers can contain the directory of communication endpoints and presence detection service.
All the communication endpoints are the clients of these servers.
A database server is a server which provides database services to other computer programs. It is responsible for the management of databases, the request of data and handling of all data storage and sharing of any form of the database over a network.
The users of the database access the database either from the front end or the backend. The clients of the database servers could be anything including accounting software, asset management software, or any computer program that requires structure data in large volumes.
Most popular databases are Oracle, SQL Server, Mysql, etc.
This is not the end of the list. There are several kinds of servers which we interact on a day to day basis, and this list is growing on Some of the other commonly used servers are printer servers, media server, fax server, game server, FTP server, etc.
Conclusion – What is a server
A server is responsible for almost everything that happens on the internet. It could be a computer program or the machine itself that performs the tasks assigned to it by clients. There are different types of servers like an email server, FTP server, web server, etc. Each server performs a different kind of task.
Now as you have understood how critical the servers are, it would be easy to comprehend it as the backbone of the internet. The simplicity of the user interface of the internet hides all of the complexity of the servers from you. But underneath it lies complex interconnected network of millions of servers processing trillions of data and running millions of processes. Truly they are the backbone of the internet.