What is the difference between a client and a server?

What is the difference between a client and a server?

The difference between both might be tricky since they share similar things, but the main difference is how they work.

In general, and in a simplest form, a server is a machine or a program (software application) that waits for incoming requests, and a client is a machine or program sending requests to another client or a server in order to take action. A server is an entry points for multiple clients that will handle their requests.

In software programming, we talk about client and server applications but, of course, an application can do both (even if I do not recommend it).

A client application will generally be the graphical interface enabling interactions with the business domain data and show results about it. The client should normally no do any business calculations, transformation around the data. It has minimal interaction with it. The goal is to request data from the server and show them or requesting the server to create/update/delete an information. Meanwhile, the server is not only receiving the request, but also responding to it as well. Therefore, client can only execute a request after the server is enabling the request.

A server application will handle requests from a client (give me data, create this person, update the title of this person…) and give back results (task has failed, text message sent, your order has been shipped…). Sometimes, servers can also contact client application to give feedback or information (this is often called push notification like on a smartphone when you have alerts pushed from your favorite app). In order to communicate, servers can expose/respond with APIs, http requests, HTML pages(https://www.garudax.id/pulse/language-framework-jonathan-rombeau/), and much more protocols depending on the type of server.

Despite the difference they have, both server and client are considered as the component of network architecture system.

To view or add a comment, sign in

More articles by Jonathan Rombeau

  • Software communication - message broker

    What is a message broker? A message broker is software that ensures applications (monolithics and/or microservices)…

    6 Comments
  • Monolithics VS Microservices

    Monolithic applications Monolithic applications are projects where all the functionalities exist into a single…

  • What is an API (Application Programming Interface)?

    An API is all about communication. It is an interface that takes requests and tells the system (application, service…

    1 Comment
  • Language or Framework?

    Most of the time, people outside of IT, are lost because they do not know exactly the difference between a framework…

    4 Comments
  • What is a framework?

    In computer programming, a framework is like a toolbox providing abstract/concrete/generic functionalities. It is a…

Explore content categories