What is a Server?
There are various kinds of servers that one encounters (or hears about) these days, including: web servers, email servers, file servers, name servers (domain name servers), application servers, database servers, etc. The simplest definition of a server would be a computer that provides a specific service to users. Usually these users have to access the service by first accessing a client. The client software is installed on the user’s machine and the user interacts with this client software. In response to specific requests made by the user, the client software sends requests for a service to the server. The server then handles this request and returns a result to the client, which then displays this to the user. The response differs, depending on the service requests that are being handled. A print server may simply respond by signaling the completion of a print request. The following are some examples of the type of servers in use today.
Web Server: The web browser acts as the client and the machine that serves a specific webpage in response is the web server. When you type a URL, the web browser sends an HTTP Request to the web server and the web server will return the requested webpage as a result, which is then displayed on your web browser. Note that in this case, the HTTP Request passes over the Internet to a remotely located server.
Email Server: In this case, your client is a software such as Outlook, which accesses email from an email server. Depending on what you are doing – sending, deleting, etc. – a request will be sent and handled appropriately by the email server. In the simplest, office-type scenario, the email server is located in the same office as you. The request/response travels only over the LAN/Intranet.
However, it is also possible that the email server is accessed over the internet from a remote location. It is becoming common to access office email through the Web (generally referred to as Webmail). This could be because of various reasons, such as telecommuting, mail services being handled by a third party, etc.The email server is accessed, in such cases, by passing through a web server first. Thus the client is once again the web browser, which communicates with a web server. The web server in its turn, acts as a client and sends a request to the email server. The response is then handled by the web server by sending the response to the web browser, which eventually displays it on screen.
Even in peer-to-peer applications, such as when downloading a file from a remote peer, your computer is implicitly acting as a client to the remote peer’s server. This situation can just as easily be reversed when that same user downloads files from your computer.