A server is a computer program that responds to a request from another program. Server software is generally not run in a standalone fashion, rather, end-user software usually interfaces with server software in a distributed manner. Additionally, a computer who's main purpose is running server software, and is used almost exclusively in this regard, is itself referred to as a server. These servers are typically accessed over a network, as little to no application software usually run on these machines. Computers which are dedicated as server machines often have no input or output devices other than a network cable, and run operating systems designed to be remotely maintained. They are also constructed of more durable hardware than standard personal computers, and are often grouped in server racks or farms.
Typical examples of servers used in everyday home computing include webservers, database servers, email servers, and proxy servers. A webserver is a computer that serves webpages. The World Wide Web, which includes all public webpages, is hosted on millions of independent webservers connected via the Internet. A database server is a program that stores data for retrieval by another program. Most database servers communicate via SQL or a proprietary SQL adaption, which also provide facilities for simple data processing. Email servers provide a wide variety of tasks including email transmission and retrieval, storage, spam processing, SPF verification, and in some cases challenge-response authentication. Proxy servers act as mediary between two computers or networks. Proxy servers are used for modifying or restricting requests from a specific system, for filtering replies, or for dividing network resources among available machines.
As server maintenance is often far more involved than regular PC maintenance, most servers are managed by professionals with backgrounds in computer science. Such a staff is rather expensive, so servers are typically maintained in server farms which centralize many servers in one physical location. Due to their significance, servers in server farms are designed to be fault tolerant, that is, systems are in place to prevent a disruption in service should any single component fail. Servers are therefore often cloned, with two or more machines serving identical content. This not only helps provide redundancy in case of hardware failure, but also provides load balancing during times of heavy usage. Other fault tolerance measure commonly taken include redundant power supplies, timely backup strategies, and strict access management to prevent data theft and virus infection.
Hardware Terminology Questions