Client-server architecture
Client-server architecture is a model for organizing distributed systems and computer networks. In this architecture, the roles of the client and the server are clearly defined, and each component plays at least one of them.
Clients are devices or components that request resources or services, and servers are the devices or components that serve requests or provide services. An example of client-server architecture over the internet is illustrated in Figure 4.2:
Figure 4.2 – Client-server architecture (C1)
Usually, clients are everyday user-facing devices such as laptops, phones, and televisions. They tend to be lightweight devices with limited computation power, and they usually only need to be available during communication with servers.
Servers are devices dedicated to serving requests and are usually hosted in the cloud or data centers. They usually have more computational power, more storage, and more network...