About Client-Server Architecture
Client-server is one of the two communication models for networking, the other being peer-to-peer. Client-server was the only model until peer-to-peer was popularized by file sharing applications in the early 21st century. Client-server is still the architecture of choice for business applications.
-
Endpoints
-
The classic client-server connection involves a computer contacting another to request a resource. The requester is the client. The server responds to the request by delivering the requested resource or service. It serves the client. This is how the two actors in the model got their names.
Multi-Tiered Systems
-
The straightforward relationship between a client and a server has become more complicated in recent years, by the advent of servers calling in services from other servers. For example, a user on a client computer contacts a database application, resident on a second computer. The second computer is an application server, but it does not hold the database, which resides on a second server. The application accesses the database server in order to fulfill the client's request. These scenarios blur the definition of client and server, as the application server acts as server to the client, but as client to the database server. Authentication procedures follow a similar double server pattern where the network access server accesses an authentication server to retrieve the stored credentials of an accessing client.
-
Connection Type
-
A client-server transaction can be either connectionless or connection-oriented. A connectionless transaction is a one-shot process with no record of previous interaction between a particular client and server. That is, the client sends a request, the server responds and the transaction is terminated. If the client needs further information, subsequent requests are treated as separate transactions. In a connection-oriented transaction, the client establishes a session with the server and the two exchange a series of related messages in order to complete the transaction. The display of a Web page in a Web browser is a connectionless client-server transaction, with the browser holding the position of client and the Web server acting as server. A remote terminal application, like Telnet, is a connection-oriented client-server model, as the client maintains a session which carries a series of transactions.
Alternative Architecture
-
Peer-to-peer networks differ in that all members of the network both seek resources and hold them. This means each node in the network operates as both a client and a server. This is the method used by file-sharing systems like Napster and BitTorrent. It is also the method used by Skype.
-
References
- Photo Credit Todd Warnock/Lifesize/Getty Images