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.