A server is a computer program that provides services to other computer programs (and their users) in the same or other computers. The computer that a server program runs in is also frequently referred to as a server. That machine may be a dedicated server or 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.
Servers are often categorized in terms of their purpose. A Web server, for example, is a computer program that serves requested HTML pages or files. A Web client is the requesting program associated with the user. The Web browser in your computer is a client that requests HTML files from Web servers.
Here are a few types of servers, among a great number of other possibilities:
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 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.
See an introduction to servers in a data center context: