Client (computing)


Client (computing)

A client is an application or system 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. The term was first applied to devices that were not capable of running their own stand-alone programs, but could interact with remote computers via a network. These dumb terminals were clients of the time-sharing mainframe computer.

The client–server model is still used today. Client and server can run on the same machine and connect via Unix domain sockets, or other inter-process communication techniques such as shared memory, or named pipes. Using Internet sockets a user may connect to a service operating on a possibly remote system through the Internet protocol suite. Servers set up listening sockets, and clients initiate connections that a server may accept. Web browsers are clients that connect to web servers and retrieve web pages for display. Most people use email clients to retrieve their email from their internet service provider's mail storage servers. Online chat uses a variety of clients, which vary depending on the chat protocol being used. Multiplayer online games may run as Game Clients on each local computer.

Increasingly, existing large client applications are being switched to websites, making the browser a sort of universal client. This avoids the hassle of downloading a large piece of software onto any computer you want to use the application on. An example of this is the rise of webmail.

In personal computers and computer workstations, the difference between client and server operating system is often just a matter of marketing - the server version may contain more operating system components, allow more simultaneous logins, and may be more expensive, while the client version may contain more end-user software.

Contents

Types

Clients are generally classified as either "fat clients", "thin clients", or "hybrid clients".

Local storage Local processing
Fat Client Yes Yes
Hybrid Client No Yes
Thin Client No No

Fat

A fat-with low-fat client, also known as a rich-poor client or thick-thin client, the personal computers or laptops can operate independently.

Programming languages and/or development tools for rich clients typically include Delphi, .NET Framework, Java and Visual Studio.

Thin

A thin client is a minimal sort of client. Thin clients use the resources of the host computer. A thin client's job is generally just to graphically display pictures provided by an application server, which performs the bulk of any required data processing. Programming environments for thin clients include JavaScript/AJAX (client side automation), ASP, JSP, Ruby on Rails, Python's Django, PHP and other (depends on server-side backend and uses HTML pages or rich media like Flash, Flex or Silverlight on client).

Hybrid

A hybrid client is a mixture of the above two client models. Similar to a fat client, it processes locally, but relies on the server for storage data. This approach offers features from both the fat client (multimedia support, high performance) and the thin client (high manageability, flexibility).

Notes and references


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • thin-client computing —    See Terminal services …   Dictionary of networking

  • Client — may refer to: Customer, someone who purchases or hires something from someone else Client (computing), software that accesses a remote service on another computer The client (Latin cliens) who received patronage in ancient Rome Client (band), a… …   Wikipedia

  • Client–server model — The client–server model of computing is a distributed application that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients.[1] Often clients and servers communicate… …   Wikipedia

  • Client-side persistent data — or CSPD is a term used in computing for storing data required by web applications to complete internet tasks on the client side as needed rather than exclusively on the server. As a framework it is one solution to the needs of Occasionally… …   Wikipedia

  • Client-side — refers to operations that are performed by the client in a client–server relationship in a computer network. Typically, a client is a computer application, such as a web browser, that runs on a user s local computer or workstation and connects to …   Wikipedia

  • client-server — ˌclient ˈserver adjective [only before a noun] COMPUTING a client server system is one in which a powerful main computer provides information to several smaller computers : • Client server networks offer efficient shared access to network… …   Financial and business terms

  • client-server — adjective COMPUTING used for referring to a NETWORK (=group of computers) in which each computer is either a CLIENT or a SERVER. Clients are the individual computers that run programs, or the equipment connected to them such as printers, and… …   Usage of the words and phrases in modern English

  • Client-server — The client server software architecture model distinguishes client systems from server systems, which communicate over a computer network. A client server application is a distributed system comprising of both client and server software. A client …   Wikipedia

  • client/server architecture —    A computing architecture that distributes processing between clients and servers on the network. In the past, traditional computing has relied on a hierarchical architecture based on nonprogrammable dumb terminals connected to a mainframe… …   Dictionary of networking

  • Client honeypot — Honeypots are security devices whose value lie in being probed and compromised. Traditional honeypots are servers (or devices that expose server services) that wait passively to be attacked. Client Honeypots are active security devices in search… …   Wikipedia