The subject of client and server systems cover such a wide area that it is quite difficult to filter the documents available on the web and at the same time have a broad and clear overview of the topic. There are number of courses given by universities and profit-oriented organizations on client and server technology, since it is today's one of the hot topics.
To give a general understanding of client/server systems, the subject is
classified such as:
1.What is what?
1.1 What is Client and server system?
1.2 What do Client programs do?
1.3 What do the Server do?
3.Example:World Wide Web
4.What is Client/Server Computing
The principle is that the user has a client program. He asks information (or data) from the server program. The server searches the data and sends it back to the client. Putting in another way,we can say that the user is the client, he uses a client program to start a client process, sends message to server which is a server program, to perform a task or service..
As a matter of fact a client server system is a special case of a co-operative computer system. All such systems are characterised by the use of multiple processes that work together to form the system solution. (There are two types of co-operative systems client-server systems and peer-to-peer systems.) The client and server systems consist of three major components : a server with relational database, a client with user interface and a network hardware connection in between. Client and server is an open system with number of advantages such as interoperability, scalability, adaptability, affordability, data integrity, accessibility, performance and security. 
They usually deal with;
The client-based process is the application that the user interacts with. It
contains solution-specific logic and provides the interface between the user and
the rest of the application system.In this sense the graphical user interface (GUI)
is one characteristic of client system.
It uses tools some are as:
When the server do these, it can use common or complex logic. It can supply the
information only using its own resources or it can employ some other machine on
the network, in master and slave attitude. .
In other words, there can be,
In a client server system, we can talk about specialization of some components for particular tasks. The specialization can provide very fast computation servers or high throughput database servers, resilient transaction servers or for some other purpose, nevertheless what is important is that they are optimised for that task. It is not optimal to try to perform all of the tasks together.Actually it is this specialization, therefore optimization that gives power to client and server systems. 
These different server types for different tasks can be collected in two categories:1.Simpler ones are;
Here the client talks directly with the server, there is no intervening server between. It is quite good for small environments, where there is not so many users. It is also known as first generation architecture. Two tier architecture has low development and low purchase costs.It is also used in prototyping, but this is a bit risky, since real life can bring unexpected surprises in implementations.It has limited scalability. [2,5]
However in general, this type of architecture refers to a client/server system, in which a client application contains all the business logic and a database server is taking care of data management. 2. Three tier Architecture:
Here there is a server, or third company between client and server. It may provide translation, metering and/or intelligent agent services.It is more scalable than two tier architecture, it provides separate presentation and logic process, as well as multi-Process and multi platform.  It is also known as second generation architecture.
However the trade-off is three tier architecture is hard to learn, compared to two tier, ther is a language barrier, it increases the complexity of system. 
Three tier architecture may have additional layer of application servers. This lets splitting of the application logic on different servers, with one specialized server for process handling. This decreases the load on the system, since the client doesn't need to contact every server by sending individual requests, instead it sends one whole request that covers everything. 
We can talk about World Wide Web more as an example of client and server systems.
It is possibly the most well-known client-server system. A site may become a Web server by running an http daemon where a user becomes a Web client by running a browser such as Netscape. A client may request information from a series of servers.
The servers all use the same protocol for communication with clients although they may differ in speed, reliability, etc. Typical ones are the CERN server, the NCSA server, and servers from Netscape, Microsoft, O'Reilly, Silicon Graphics, etc.
The request that the server send to a client may be text, an image file, or other type of file. It is identified by a name called a URL (Uniform Resource Locator).The server stores that particular URL, to return the document as the message reply.
The client uses browsers to request documents from servers and to display them in some meaningfully. A Lynx browser is a text-based browser, while the others may have some GUI capabilities. Netscape is an example, but there are some others as well. Their difference can be HTML version, in some features like email support , amount of customisation, , caching capabilities...etc. [6,12]
Client/server computing typically begins as a convenient way for a small group of users to share resources.  Client and server computing divides a large piece of software into modules that need not all be executed within the same memory space nor on the same processor. Client and server processes exchange information although they may run on different hardware and software platforms as appropriate for their special functions. 
Developing a flexible user interface is very important for client/server computing. As it was said before, client and server may run on different platforms, so creating a user interface that is independent of the server hosting the data is needed. The user interface of client/server application can be written for Macintosh, DOS or UNIX based computers. Since the user interface is generally under client' responsibility, the server has more computing resources to use on accomplishing queries.This is one advantage of client/server computing. Client/server computing provides a mechanism for disparate computers to cooperate on a single computing task.