The "client server" refers to a popular model for computer networking that utilizes both client hardware devices and servers, each with specific functions.
The client server model can be used on the Internet as well as local area networks (LANs). Examples of client-server systems on the Internet include Web browsers and Web servers, FTP clients and servers, and the DNS.
Client/server networking grew in popularity many years ago as personal computers (PCs) became the common alternative to older mainframe computers.
Client devices are typically PCs with network software applications installed that request and receive information over the network. Mobile devices, as well as desktop computers, can both function as clients.
A server device typically stores files and databases including more complex applications like Web sites. Server devices often feature higher-powered central processors, more memory, and larger disk drives than clients.
Client Server Applications
The client-server model organizes network traffic by a client application and also by a device. Network clients send messages to a server to make requests of it. Servers respond to their clients by acting on each request and returning results. One server supports many clients, and multiple servers can be networked together in a server pool to handle increased processing loads as the number of clients grows.
A client computer and a server computer are usually two separate units of hardware each customized for their designed purpose.
For example, a Web client works best with a large screen display, while a Web server does not need any display at all and can be located anywhere in the world. In some cases, however, a given device can function both as a client and a server for the same application. Additionally, a device that is a server for one application can simultaneously act as a client to other servers, for different applications.
Some of the most popular applications on the Internet follow the client-server model including email, FTP and Web services. Each of these clients features a user interface (either graphic or text-based) and a client application that allows the user to connect to servers. In the case of email and FTP, users enter a computer name (or sometimes an IP address) into the interface to set up connections to the server.
Local Client Server Networks
Many home networks utilize client-server systems on a small scale. Broadband routers, for example, contain DHCP servers that provide IP addresses to the home computers (DHCP clients). Other types of network servers found in home include print servers and backup servers.
Client Server vs. Peer-to-Peer and Other Models
The client server model of networking was originally developed to share access to database applications among larger numbers of users. Compared to the mainframe model, client-server networking gives better flexibility as connections can be made on-demand as needed rather than being fixed. The client-server model also supports modular applications that can make the job of creating software easier. In so-called two tier and three tier types of client-server systems, software applications are separated into modular components, and each component is installed on clients or servers specialized for that subsystem.
Client server is just one approach to managing network applications. The primary alternative to client-server, peer-to-peer networking, treats all devices as having equivalent capability rather than specialized client or server roles. Compared to client-server, peer to peer networks offer some advantages such as better flexibility in expanding the network to handle a large number of clients. Client-server networks generally offer advantages over peer-to-peer as well, such as the ability to manage applications and data in one centralized location.
The Main Benefits of the Client Server
The main benefits of the client server network is allowing a shared database or site to be accessed or updated by multiple computers while maintaining only one control center for the action. This makes it possible for companies to distribute information, upload data, or reach the program without being tied down to one individual computer site. Because the information is stored online, a client server model creates more power and control over what is being saved. Additionally, this model has an increased security, often with encryption, ensuring that the data is only available to qualified individuals.
The Main Disadvantage of Client Server
Under a client server model, the main disadvantage is running the risk of a system overload. If too many different clients attempt to reach the shared network at the same time, there may be a failure or a slowing down of the connection. Furthermore, if the network is down, this disables access to the information from any site or client anywhere. This can be detrimental to major businesses who are unable to reach their pertinent data.
Other types of service connections include master slave networks and peer to peer networks. In a master slave diagram, a single program is in charge of all the others, with one being dominant over the other. In contrast, a peer-to-peer network, while similar to client server architecture, differentiates in that it allows any client to start transactions.