Clients and Servers
On the Internet, all machines are categorized into two types, clients and servers. Servers are the machine that provides services to other machines, and the clients are the machines that connect to those services. Clients send the request for services, and that services or functions are provided by the servers.
The client-server model is a distributed application framework. The client-server model divides the task between client and server that either belongs to the same system or communicate through the Internet or computer network. To access a service, the client sends a request to the other program. The server runs the programs and distributes work among clients. If the server has one or more than one program, it will share the resources. The client-server model's communication is in the format of request-response messaging and follows a common communication protocol, which is known as TCP/IP protocol. That protocol defines the language, rules, and dialog patterns. The TCP protocol is used to maintain a connection until the message exchange of the client and server has been completed. The TCP protocol is used to find the right way to distribute the data of the application into a package. A network delivers that packets, transfer packets and receive packets from the network. TCP protocol manages the flow control and retransmits the garbled or dropped packets. Internet protocol (IP) is a connectionless protocol. In IP, each packet travels as an independent unit of data over the Internet. In a scheduling system, all the requests of the client are prioritized and organized. Due to this, the server cope receives requests in a short space of time from many distinct clients.
If the client sends a request to the server for connection, the connection can be accepted or rejected by the server. If the server accepts the connection request, the server establishes the connection and maintains it with the client. For example, to send a message on the email server, a client requests an SMTP connection. After that, the SMTP application will request authentication from the client on the mail server like the id and password of email. If the account on the email server matches this id and password, an email will be sent to the intended recipient by the server. Any general-purpose computer uses the client-server approach to expand its capability by utilizing the other host's shared resources. The client-server approach includes network printing, email, WWW (World Wide Web). The client-server model is also used by online multiplayer games. For example, suppose the Battle.net service of Blizzard, which hosts online games in the world of Overmatch, Warcraft, StarCraft, and others. The player automatically connects to the server of Battle.net if the game client opens a Blizzard application. When the players successfully log in to Battle.net, they can play matches with other gamers, see the online players, and chat with other players.
The client-server network provides a medium through which a central computer provides the clients' resources and services using the wide-area network (WAN) like the Internet or local area network (LAN). Network traffic is categorized into two ways server-to-server (east-west traffic) or client-to-server (north-south traffic). The network traffic includes the World Wide Web, file sharing, printing, and email. The central management of data and application is the major advantage of the client-server network.
Difference between Client and Server
The Clients or service requesters are a piece of server software or computer hardware. The Clients request services and resources, and the server made available these services and resources. Client computing can be classified into three categories that are as follows:
Thick client: The thick client relies lightly upon the server and provides rich functionality. The majority of data processing is performed by thick clients.
Thin client: Thin client-server relies on the host computer's resources, and it is a lightweight computer. It is an application server that performs any required data processing in the majority.
Hybrid client: It is a combination of thick and thin client characteristics. It stores persistent data and relies on the server. It can do local processing.
A server is like a computer program, which is used to provide the functionality to other programs. A server can be any computerized process called by a client to distribute the work and share the resources. Some examples of servers are as follows:
Application server: It is a type of host web application used by users who need their copy in the network.
Database server: Any computer program that ingests well-organized data like a spreadsheet is maintained and shared by the database server.
Web server: It is a type of host web page. It facilitates the existence of WWW.