Two very different terms in the computing world but one cannot exist without the other. Let’s find out why.
|Sends request to the server||Replies to the request|
|Runs all software and processes||Provides resources for retrieving data, running computations|
|Can be accessed by one user at a time||Can be accessed by multiple clients at any given time|
|Normally a desktop computer, or program||Expensive, high-end computer hardware|
A client is simply a computer or application that has access to an available service from a server. Imagine a business and its many clients. The business (server) offers various services or products a client (client) may have a need for.
It is very common for a server to be on another computer where the client uses a network to access the server. A good example would be computers in offices and corporations – one client for each office desk with a computer that can access applications and files running on a main server. This setup is also called a client-server model; all the legwork is done on the client side and not on the server. This allows the server to concentrate on “serving” data instead of running processes and programs that are already being done by the client. Keep in mind that only one user can be logged on to a client machine at a time.
Whenever you access your email using any device (i.e. smartphone, computer, etc.) your device is the client. The server could be the email servers of Google, Yahoo, Microsoft, or whoever your email provider is. Now, what do you call Gmail, Yahoo Mail, and Microsoft Outlook then? These are the applications or software your device is using to retrieve or send your emails from the email servers, hence they are called client software.
The server can either be a program or a dedicated device that has the capability to provide “services” such as resource and data sharing, and running computations for networked clients. One server may serve several clients, or a single client can access multiple servers. The most common servers that client computers/devices connect to would be game servers, file servers, database servers, web servers, and as mentioned earlier, email servers.
Any computerized process that can act on a request or can be used by another process is called a server. This means standard computers connected to a network can be host servers. However, a server that is dedicated to only servicing requests will be better than a standard computer. A server would usually be running more operating system components.
Almost all servers are critical in whatever function they serve, thus they have to be up and running as much as is needed to serve client computers connected to them. Huge data centers that house server farms are mission-critical to large corporations. Increased security, an uninterruptible power supply and redundancies are in effect designed to protect data stored in these server farms.
Client vs Server
So, what is the difference between a client and a server?
The client sends a request to which the server replies. In most cases, a client computer runs all the processes to allow the server to focus its resources on retrieving data and running computations. A server then is more focused on performance. Clients, on the other hand, work best with applications that require fast start-up, meaning that a client computer would have more software installed. In contrast, a server would have more operating system components.
A client machine is usually a normal, desktop computer. It can be set up as a network server, but will never be as good as a dedicated server which is a high-end machine that can store vast amounts of data, with blazing fast CPU, and high performance RAM, just to name a few elements. This is why servers are far more expensive that the average desktop computer or laptop.