The Concept of Thin and Thick Clients – TestMatick

In computer terminology, the term “client” stands for certain software/hardware that interacts with a server to enable a user to receive data on the actions done by a system.

A client is a crucial component of system architecture.

A simple example of a client is a common web browser that can transfer web requests to a web server, receiving the content of a required web page in response. All clients in client-server architecture can be notionally divided into two subtypes: thick and thin ones.

Additionally, there are architectures that can combine the features of both. They are called hybrid clients.

Let’s analyze each type separately.

The concept of a thick client

A thick client is a client that performs operations requested by a user regardless of the main server. The main server in this type of system architecture can be used as a special database that is processed and finally delivered by a user’s PC.

A thick client is a working device or PC that functions on the basis of its OS and has a complete set of software to perform the tasks required by a user.

Advantages of thick clients:

  1. Better performance;
  2. Presence of multi-user mode;
  3. A possibility to work offline;
  4. A high-speed response;
  5. A low dependence on complex servers.

Disadvantages:

  1. All working devices are in constant need of technical support;
  2.  There is a need to update the hardware of each client to the software that will be used;
  3.  High capacity of distribution kits;
  4.  Complete dependence on the platforms they have been developed for.

The concept of a thin client

A thin client is a type of client that can transmit information processing to a server, not using its computer capacity to implement them. All computing resources of such a client are completely limited and must be sufficient for launching required network software by using a web interface, for example.

One of the most widespread examples of this type of a client is PC with a preliminarily installed web browser that is used to work with web software.

A distinctive feature of thin clients is the usage of terminal performance mode. In this case, a terminal server is used for sending and receiving user’s information and that’s why it’s different from independent processing of information in thick clients.

Advantages of a thin client:

  • A low need of services for hardware;
  • A low risk of failures;
  • Low technical requirements to hardware.

Disadvantages:

  • In case of a server failure, all connected users will be affected by this;
  • No possibility to work offline;
  • When there is interaction with huge data, the main server’s performance may decrease.

What’s the difference between them?

The main difference between them lies in the ways of data processing.

Thick clients work with information on the basis of their own hardware and software, and thin clients use software of the main server only for data processing, providing a system with the required graphical interface to give a user possibility to work. This means that we can sometimes see outdated or low-working PCs that serve as thin clients.

Examples of their usage in everyday user activities

All users of the Internet meet both thin and thick clients in some way.

From a technical side, a thick client is a local device used by a user for implementing his/her tasks.

A thin client can be a separate work station. Such thin clients can be quite small and use passive freezing. Sometimes thin clients are used as office local devices.

If we look at this from a software point, clear examples of thin clients can be teamwork software if it’s preliminarily installed on certain computing devices. For example: Yahoo Messenger, Office 365, Microsoft Outlook.

All web browsers and web applications such as WP, Google Docs and numerous online games can be examples of thin clients. Also, search engines of popular websites from Google/Yahoo are examples of this type of a client.

Conclusion

To conclude, we’d like to say that choosing a proper client depends sometimes on the tasks a user needs to do (performing penetration testing or security testing), the type of hardware he/she has access to or the type of software he/she has. Only by comparing the advantages and disadvantages of using each approach, you can choose the best variant for you.