THE CLIENT-SERVER MODEL
The client-server model is a distributed application structure that involves tasks being partitioned between servers, which are responsible for providing services or resources, and clients, which do the service requesting. Clients are usually a personal computer, and recently have been expanded to include mobile devices. The client does not share its own resources with the server, but it does initiate requests for services or content from the server.
Client/server systems evolved from mainframe architecture when it was realized that personal computers had become more self-sufficient, both in data storage and processing power, not to mention more affordable. Personal computers were able to offer just about all the features that were offered on mainframe computers. At the outset, the client-server model existed as a two-tier architecture – a client and an application server, in which the client acts as a presentation layer that communicates with the server, a centralized data layer. Most client-server architectures are two-tier. In fact, most Internet applications are simple two-tier applications. This includes Email (SMTP), web browsing (HTTP), and file transfer applications (FTP). Each application for these