Client/server
describes the relationship between two computer programs in which one program,
the client, makes a service request from another program, the server, which
fulfills the request. Although the client/server idea can be used by programs
within a single computer, it is a more important idea in a network. In a
network, the client/server model provides a convenient way to interconnect
programs that are distributed efficiently across different locations. Computer
transactions using the client/server model are very common. For example, to
check your bank account from your computer, a client program in your computer
forwards your request to a server program at the bank. That program may in turn
forward the request to its own client program that sends a request to a database
server at another bank computer to retrieve your account balance. The balance
is returned back to the bank data client, which in turn serves it back to the
client in your personal computer, which displays the information for you.
The
client/server model has become one of the central ideas of network computing.
Most business applications being written today use the client/server model. So
does the Internet's main program, TCP/IP. In marketing, the term has been used
to distinguish distributed computing by smaller dispersed computers from the
"monolithic" centralized computing of mainframe computers. But this
distinction has largely disappeared as mainframes and their applications have
also turned to the client/server model and become part of network computing.
In the usual
client/server model, one server, sometimes called a daemon, is activated and
awaits client requests. Typically, multiple client programs share the services
of a common server program. Both client programs and server programs are often
part of a larger program or application. Relative to the Internet, your Web browser is a client program that requests services (the
sending of Web pages or files) from a Web server (which technically is called a
Hypertext Transport Protocol or HTTP server) in another computer somewhere on
the Internet. Similarly, your computer with TCP/IP installed allows you to make
client requests for files from File Transfer Protocol (FTP) servers in other
computers on the Internet.