A server is a computer program or device that provides a service to another computer program and its user, also known as the client. In a data center, the physical computer that a server program runs on is also frequently referred to as a server. That machine may be a dedicated server or it may be used for other purposes as well.
In the client/server programming model, a server program awaits and fulfills requests from client programs, which may be running in the same or other computers. A given application in a computer may function as a client with requests for services from other programs and also as a server of requests from other programs.
Types of servers
Servers are often categorized in terms of their purpose. A few examples of the types of servers available are:
- A Web server is a computer program that serves requested HTML pages or files. In this case, a Web browser acts as the client.
- An application server is a program in a computer in a distributed network that provides the business logic for an application program.
- A proxy server is software that acts as an intermediary between an endpoint device, such as a computer, and another server from which a user or client is requesting a service.
- A mail server is an application that receives incoming e-mails from local users (people within the same domain) and remote senders and forwards outgoing e-mails for delivery.
- A virtual server is a program running on a shared server that is configured in such a way that it seems to each user that they have complete control of a server.
- A blade server is a server chassis housing multiple thin, modular electronic circuit boards, known as server blades. Each blade is a server in its own right, often dedicated to a single application.
- A file server is a computer responsible for the central storage and management of data files so that other computers on the same network can access them.
- A policy server is a security component of a policy-based network that provides authorization services and facilitates tracking and control of files.