Client (computing)

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A client is a piece of computer hardware or software that accesses a service made available by a server. The server is often (but not always) on another computer system, in which case the client accesses the service by way of a network.[1] The term applies to programs or devices that are part of a client–server model.


A client is a computer program that, as part of its operation, relies on sending a request to another computer program (which may or may not be located on another computer). For example, web browsers are clients that connect to web servers and retrieve web pages for display. Email clients retrieve email from mail servers. Online chat uses a variety of clients, which vary depending on the chat protocol being used. Multiplayer video games or online video games may run as a client on each computer. The term "client" may also be applied to computers or devices that run the client software or users that use the client software.

A client is part of a client–server model, which is still used today. Clients and servers may be computer programs run on the same machine and connect via inter-process communication techniques. Combined with Internet sockets, programs may connect to a service operating on a possibly remote system through the Internet protocol suite. Servers wait for potential clients to initiate connections that they may accept.



Client types and their features
Relies on
local storage
Relies on
local CPU
Fat client Yes Yes
Hybrid client No Yes
Thin client No No

In one classification, client computers and devices are either fat clients, thin clients, or hybrid clients.


Main article: Fat client

A fat client, also known as a rich client or thick client, is a client that performs the bulk of any data processing operations itself, and does not necessarily rely on the server. The personal computer is a common example of a fat client, because of its relatively large set of features and capabilities and its light reliance upon a server. For example, a computer running a CAD program (such as AutoCAD or CATIA) that ultimately shares the result of its work on a network is a fat client.

Common development tools for rich clients include Delphi, NetBeans and Visual Studio.


Main article: Thin client
A thin client

A thin client is a minimal sort of client. Thin clients use the resources of the host computer. A thin client generally only presents processed data provided by an application server, which performs the bulk of any required data processing. A device using web application (such as Office Web Apps) is a thin client.

Programming environments for thin clients include JavaScript, ASP.NET, JSP, Ruby on Rails, Django, PHP and others.


Main article: Hybrid client


