A server is a device or computer program that makes it possible for other devices or programs (referred to as clients) to function. This structure/arrangement is relevant within the field of computing and is known as a client–server model.
Servers are capable of providing a vast range of functions which are called "services". Such services include; data or resource sharing among multiple clients, or carrying out computation on behalf of a client. One server is capable of serving multiple clients, and one client can make use of more than one server. A client process can take advantage of a server installed on the same device, or it can connect to an outside server on a different device through a network. Commonly used servers include; file servers, database servers, mail servers, web servers, print servers, application servers, game servers, and so on.
Client–server systems are presently commonly used through the request–response model. This works by a client sending a server a request. The server performs the needed action and sends back a reply with a result or acknowledgement to the client. If a computer is designated as "server-class hardware", it means it is optimised for having servers run on it. Such a computer is typically more reliable and powerful than a standard computer.
The term server in strict terms refers to a computer process or program (running program). Figuratively speaking, it is a device capable of running one or multiple server programs. On a network, this sort of device is referred to as a host.
Servers are part of a client–server model where the server computes data for clients. Communication between a server and a client has a request and response nature. This is unlike a peer-to-peer model where the relationship is based on an on-demand reciprocation.
Although request–response is the most commonly available client–server model, there are others like publish–subscribe pattern. In a publish–subscribe model, the client has to register with a pub–sub server and subscribe for specific message types. This subscription can be performed via a request–response pattern. After the initial subscription, the pub–sub server will send similar messages to a client without the client having to make any further requests. That is, rather than the client pulling/requesting for messages continuously from the server, the server pushes messages to the client.
A server’s purpose is dependent on the type of server. Below are some server types and what they do;
These host web apps or computer programs running inside a web browser which permits users on the network to use and run them without needing to install a copy on their personal computer. These sort of servers don’t need to be on the World Wide Web because being on any local network will suffice. Example of a client in such a server process is a computer with a web browser
This sort of server maintains a table of content or index of information that can be located in a vast distributed network of users, computers, web apps, and files shared on file servers. Name server and directory servers are simple examples of catalog servers. Any computer program that needs to search for any information or data on a network is a client in this scenario. For example, a user searching for a file, or an email client searching for an email address.
This sort of server makes it possible for one communication endpoint (device or user) to communicate with other endpoints and share data or information with them. The clients in this instance are the Communication endpoints (devices or users)
This servers share computing resources, especially RAM and CPU over a network. The client will be a networked computer. If the client is not on a network, it will be unable to establish a client–server connection.
This makes it possible for several gaming devices or computers to participate in multiplayer games. Clients are personal computers or gaming consoles
Without this, communication via email might be impossible. Clients consist of the senders as well as the recipients of emails.
This is used for sharing digital audio or video content across a network by streaming media. The client is the user-attended computer system with visual and audio capability
Allows for multiple printers to be shared across a network and negates the need for physical access or connection. The client is any connected computer that needs to print.
Serves as a go between for a client and a server by receiving incoming traffic from a client and transmitting it to a server. This helps with content control and filtering and prevents unauthorized network access, as well as improves traffic performance. Any networked computer can be a client
This serves the primary purpose of hosting web pages. Without a web server, the World Wide Web would likely be inaccessible. Every website has one or multiple web servers. Any device with a web browser is a client.
Your subscription request has been received, please check your email for confirmation.