In This Article
What is Server?
A server in a computer is a particular piece of hardware that offers functionality to other devices or programs called clients. It can also be a computer program or software.
- A server usually refers to a big and powerful computer which stores all the related data of the websites hosted by it and shares it with all computers and mobile devices wanting to access them.
- Just like personal computers are built to interact with humans, the servers are built to interact with computers.
- There are different types of servers available for use such as database servers, file servers, web servers, mail servers, game servers, print servers, application servers and more.
Ideally, a server signifies that particular computerized process which is called by or used by another process mainly remotely with an intention to share a resource.
And, the calling process or processes are referred to as the client.
This means that any general-purpose computer can function as a server if it is connected to a network.
For example, when files are shared by others by some process, then it is called a file server.
In the same way, when web server software runs on any given and capable computer system, it is referred to as hosting a web server such as a personal or a laptop computer.
In computing, any single process is distributed across several devices that perform different processes.
The server provides different functionalities.
The functionalities offered by a server are called services which include:
- Sharing of resources or data among several clients and
- Computing for a client.
Ideally, one server can serve several clients and one client can use several servers.
A client process can operate on a similar device or on a different device that may be connected to a server via a network.
Ideally, the most commonly implemented system is the client–server system which is typically characterized by the request–response model.
In this model, a client makes a request to the server which then executes some actions before sending the response back to the client, which is done usually with an acknowledgment or any other result.
If a computer is designated as ‘server-class hardware’ it signifies that it is capable of running servers on it.
This means that the computer is much more powerful and dependable in comparison to a regular personal computer.
However, there may be big computing clusters that may be alternatively composed of several replaceable and comparatively simple server components as well.
There are primarily two major types of server platforms available in a network namely, Physical Servers and Virtual Servers.
These servers typically serve data and usually operate on electricity and metal.
The physical servers of today are able to serve much more than a single user may need or want.
The physical servers usually are found to be used extensively in the data centers and other hosting companies that cater to a wide range of diverse clients.
However, very large organizations may not serve other clients but own the network of these types of servers.
In the earlier days, every server in a network had a dedicated physical server of its own.
Over time, however, the entire concept has changed and now this idea is substituted with virtualization technologies wherein every server acts as a virtual machine within a larger physical machine.
A virtual server signifies the division of the physical server. Most of the online servers are these types of servers and they have a fixed amount of physical server resources of their own to use such as:
- Storage space and others.
These virtual servers can be rented by the users at a cost that is a miniscule fraction of the cost of a physical server.
The term ‘server’ actually comes from the ‘queue’ theory, which dates back to the middle of the 20th century.
However, in the computer world, the term dates back to 1969 and to RFC 5 which distinguished it from ‘user.’
The term then distinguished two types of hosts namely:
- Server-host and
- User host.
However, the term ‘serving’ was also used in early documents like RFC 4 which however distinguished a ‘serving host’ from a ‘using host.’
Nonetheless, most of the files define ‘server’ as a remote process of performing services for the requests made by a requester. It is usually run on a system other than that on which the server particularly runs and is normally dormant when not in use.
Need for a Server
Typically, there are lots of different reasons that you will need to set up or use a server and some of them are:
- To have access control on a network
- To send or receive email
- To manage printing jobs
- To host a website and lots more.
There may be a few specific types of servers that may be used for specific purposes. These servers are called dedicated servers. There can also be shared servers that can be used for different purposes such as:
- DNS and
- Hosting several websites.
Therefore, you may need a server for private or shared access and communicate or perform demanding calculation tasks remotely.
You may need using a server for a few other varied reasons such as:
- Expanding your existing online business
- Serving the traffic in a better way and
- Developing a proxy server for your own company.
A server is usually made up of many different parts and subparts but the two specific components that make it work properly are:
- Hardware and
- Operating system.
If you look at the hardware of a server, it usually consists of a rack mount chassis. This chassis contains different other useful components such as:
- One or more Central processing Units or CPUs
- A power supply
- A system board
- Storage and
- A network interface.
The hardware of most of the servers provides support to out-of-band management via a dedicated network port.
Usually, there are different uses of the out-of-band management systems such as:
- Powering the server on or off remotely
- Installing an operating system and
- Performing health monitoring.
This type of management typically helps in monitoring the server as well as low-level management without needing the operating system.
The other major component of the server is the operating system which can be Windows Server or Linux.
It allows running the application and also enables the applications to access the necessary hardware resources. It also allows network connectivity.
Ideally, it is the application that helps the server to do its job.
For example, a mail application will be responsible for the email server to function. Likewise, a database application will make the database server run.
Functions of a Server
The primary function of a server is to serve data for the clients but the process in which this is achieved may be different based on the model.
For example, in the client–server model it actually works on the request and response nature of communication.
On the other hand, in a peer-to-peer model, it works on the basis of the on-demand reciprocation.
However, in publish–subscribe model the clients typically register with the pub-sub server.
For this they have to subscribe to specific types of messages via the request-response pattern.
After that, the pub-sub server will forward the corresponding messages to the clients with no further requests.
The clients will not have to pull the messages since the server will push it to them, unlike the request-response model.
The servers function to typically enhance the abilities of a company to network and collaborate by allowing them to share the resources available to all the parties inside the network that they can rely on.
Also, the servers play an important role by connecting to the internet which makes most of the jobs easy and fast, as it is required today.
Purpose of a Server
The purpose served by the servers largely depends on their types.
These specific types of computers help the other computers over a network known as the clients by providing them with their requisites such as:
- The resources
- The data
- The services and
- The related programs.
Therefore, the main purpose of the servers is to help the computers in the network to perform well with shared resources.
In addition to that, the servers also store, send, and retrieve data and computer files that may be useful for their clients or the computers on the network.
The most important purpose served by the servers is however listening to a port for any incoming requests to the network from one side.
Types of Servers
There are different types of servers available in the market and you can choose any one of them depending on your need. These are:
- Application servers – These servers do not need to be a part of the World Wide Web since their clients are the systems with a web browser. They can host web apps or computer programs running inside the web browser which allow the users to run them in their systems without having to install a copy of it.
- Audio/Video servers – These servers offer multimedia abilities for different websites and the users to stream multimedia data.
- Catalog servers – Just as the name suggests, these servers maintain a table or index of the information contained across the huge distributed network which may include users, computers, shared files, file servers, or web apps.
- Chat servers – These servers help the users to share informative data and allow discussion board abilities real time.
- Communications servers – These servers help in communicating between two endpoints.
- Computing servers – These servers have a huge amount of resources for computing such as RAM, CPU, and more.
- CCTV servers – These Closed Circuit Television servers help in doing anything that is related to the physical security of the premises which includes creating security servers, storing audio and video, and more.
- Client servers – These servers are just like special software that responds to all the requests coming from a client.
- Cloud servers – These servers are virtual servers in the cloud computing platforms such as Amazon Elastic Compute Cloud that are more protective, scalable and fast.
- Dedicated servers – Just as the name suggests these servers meet the requirements of a particular client.
- DNS servers – These servers translate the domain names into matching IP addresses so that the users do not have to remember the IP addresses.
- DHCP servers – These Dynamic Host Communication Protocol servers configure the network settings more dynamically for the client computers.
- Domain controllers – These controllers store the Active Directory and tools to manage the devices, users, permissions, and group policies.
- Database servers – These servers can share any type of database over the network and its clients are asset management software, spreadsheets, accounting software, and almost any computer program that uses a large volume of well-organized data.
- Exchange servers – These servers are typically used by the large scale organizations and are very secure and reliable while providing calendar, email and contacts on the computer systems, phones and web browsers.
- Fax servers – These servers use one or a couple of fax machines on a network that does not need physical access and the clients of these servers are the fax senders or recipients.
- File servers – These servers share different files and folders and the storage space to hold them on a network with the networked computers and the local programs being their clients.
- FTP servers – These File Transfer Protocol servers serve the purpose of hosting a file exchange among the users by uploading or downloading them after proper authentication via an FTP client to maintain security.
- Game servers – These servers allow playing multiplayer games one multiple computers or gaming devices which are their clients.
- Groupware servers – These servers are special software programs that help the users to work in a virtual setting without geo limitations.
- IRC servers – These Internet Relay Chat servers contain multiple and autonomous networks of servers that help the users to connect with each other using the IRC network.
- Iterative servers – These servers can manage one request at a time and can receive only one incoming connection and disconnects the connection after execution but while processing the request another connection to that particular port is blocked.
- Load balancing servers – These servers help in reallocating the demands of other servers for apps, websites, and software that may have intensive and varying workloads.
- Linux/Unix servers – These servers are gaining popularity since these can function just like a web server with an Apache web application server set up.
- List servers – These servers help in managing large email lists, offer interactive and open discussions for the public to provide newsletters, for announcements, and advertising.
- Lync servers – These servers are usually real time communication server programs that come with several features such as VoIP, instant messaging service, audio and video call conferences and PSTN or Public Switched Telephone Network connection with the help of a third party gateway.
- Mail servers – These servers help in email communication where the senders and receivers of the mails are their clients.
- Monitoring servers – These servers handle all jobs related to scanning and monitoring the network and the health of the equipment as well as the RAM, CPU, and hardware space.
- News servers – These servers help in distribution and delivery of different public newsgroups.
- NTP servers – These Network Time Protocol servers come with accurate atomic clocks and GPS that help in managing timekeeping regulations and maintaining accurate synchronization.
- Open source servers – These servers are a crucial component for the IT infrastructures that includes the underlying server software to the open source server operating system.
- Patch servers – These servers are very useful for a more extensive network. This server is also known as an update server that removes vulnerabilities and bugs and offers new features for the applications.
- Phone servers – These servers connect with a Private Branch Exchange or PBX, a phone server, and a VoIP or Voice over Internet Protocol server to help in managing the internet phone networks by the phone switching devices.
- Print servers – These servers share the printers on a network and its clients are those computers that need to print a document.
- Proxy servers – These servers act as the mediator between the server and the client which is the networked computer. It accepts the incoming traffic from the client and sends it to the server and helps in filtering, content control, enhancing traffic performance, stopping unauthorized access to the network and routing the traffic simply and easily over a complex and a big network.
- Rack servers – These servers are installed in a solitary rack mount server chassis and offer enterprise solutions for large organizations like the data centers.
- Real time communication servers – These servers are also called the Instant Messaging Server or IMS and permit a number of users to exchange information with each other at the same time.
- Root servers – These servers are also known as Root Name Servers and are typically designed for DNS root zone with the capability to respond to the requests of accessing all records directly that may be on hold in the root zone.
- SharePoint servers – These servers come with all the features and functionalities of the SharePoint Foundation along with other useful features and capabilities such as business intelligence, Enterprise Content Management or ECM, enterprise search, Newsfeed and personal sites.
- SQL servers – These servers are typically Relational Database Management System or RDBMS that is specifically built by Microsoft in order to provide the users with an enterprise environment.
- Telnet servers – These servers allow all those users working remotely on a computer terminal to log into the host machine in order to perform their computing tasks.
- Terminal servers – Also known as remote desktop server, it helps the remote users in accessing network resources to maintain business continuity.
- Tower servers – These servers may look like a regular desktop computer system but come with high processing power.
- Transaction servers – These servers help in executing SQL or Structured Query Language statements with applications such as On-line Transaction Processing or OLTP.
- Web servers – These servers power the site and host web pages and make the World Wide Web possible and their clients are the computers with a web browser. Every website typically contains one or more web servers and they take ‘Get’ and ‘Post’ requests made by the clients.
- Windows servers – These servers are available in several different versions such as Windows 8, Windows Server 2012, and more that offer thousands of new features and abilities such as networking, virtualization, user experience, storage, automation, cloud computing, and more.
Now, with such a large variety of servers, it is surely quite difficult to choose one for your computing needs. You will need to consider a few important factors for that such as:
- Understanding the requirements of the server
- Considering the maintenance aspect
- Knowing the server location and
- Sticking to your budget.
Well, if you stick to the basic principle of choosing a server according to your needs, you will do a good job. And, always get in touch with a reliable IT expert.
Which Computer Systems are Used as Servers?
It is mainly the desktop computers that can be used as servers provided that it has the right kind of hardware and software installed.
Based on the different types of hardware and server structures, there are other systems as well that can be used as a server. These are:
- Mainframe or minicomputer – These are supposed to be the original servers that could handle almost any given computing task but could not interact with the users through a keyboard or screen which were with the client system.
- Computer based servers – These are the next significant wave of servers and are not anything different from a large and powerful desktop computer. These expensive computers have far more disk space and memory than compared to most client computers and are a self-contained unit consisting of their own processor, motherboard, disk drives, memory, and power supply.
- Blade servers – These servers are fast and are not as bulky or large as the original servers. These single self-contained units are made up of miniaturized parts with the internal cooling eliminated and the hard drives removed. These smaller blade servers can be replaced quite easily.
- Combining servers – These computers are specially designed with network-based storage, mirroring and clustering technologies, and several blades as well as an external power supply. Each of these components can be swapped out while it is still running.
- Virtual servers – In these specific computers the hardware runs a special process called hypervisor and sometimes the whole operating system can run on it. The hypervisors are made up of bare metal and installed directly on the hardware of the server which is however spread across a collection of blade servers, power supply and networked storage. This creates an environment that can tell where a particular server ends and the other starts.
Also, a few users use their own computer as servers but these are not the same thing and are also not completely different either.
How Does a Server Work?
On the most basic level, the computers communicate with the server hosting the URL of the website you typed in the internet browser to extract the data and the site to display it on your system.
For this, the servers function in a specific way.
First, the URL or the Uniform Resource Locator is broken down into three parts by the browser such as:
- The hypertext transfer protocol or HTTP which is the language used by the web servers and browsers to talk to each other
- The Domain Name System or DNS that is translated into a numerical IP or Internet Protocol address and
- The file name that is relevant to the specific website.
The IP address, which is provided by the internet service provider, is used by the browser to connect to the web server.
Though this IP address changes every time you log on, the server usually has the same one always.
Once there is a connection established between your computer and the web server, the browser sends a request for a specific file to the server.
This file is that particular page in that website that you have typed in the URL in the browser.
The server then sends all the HTML or Hypertext Markup Language text for that particularly requested web page to the browser which then converts it into the web page which you see popping up on your computer screen.
And, all these things happen just within a matter of a few fractions of a second!
Since you are reading this article, you have, unknowingly, already used the client-server model.
Here, you were the client and this webpage is the resource you have requested to the server to share and accordingly the web server served you with it.
The client-server model is the most commonly used architecture in the modern times to communicate and the server provides the necessary digital data for it to the clients.
The alternate Peer to Peer or P2P model uses the computers that are connected together to share the resources or data with each other.
However, unlike the Peer to peer model, the client-server model uses the primary server machine or the set of devices that are connected to a network like in a data center.
In the process, the normal computers or clients that are connected to the local network or a web send packets to the server to request data.
When the request is received by the server, it can do any of the three following things:
- It can accept the packet
- It can reject the packet or
- It can ‘drop’ the packet by killing the connection silently.
The servers and the clients rely on the ports to send the information to and from one another as well as control the data flow.
The ports need to be correct because in most cases firewalls are set up to examine the different types of requests before these are received.
For example, the servers that use the HTTP or Hypertext Transfer Protocol usually accept only those requests for data that are sent via port 80 or 443.
If you send any packet to a server that is correctly configured for a different port, it will surely drop the packet sent by you silently.
This is the basic working principle of the servers. However, it may vary significantly on the basis of how the server is being utilized.
Through this article you have come to know about the different types of servers, their functionalities and the working process.
With all this knowledge you can now easily build a server with your computer as and when required.